mirror of
https://github.com/Eggbertx/gochan.git
synced 2025-08-17 10:56:24 -07:00
Save flag selection on post submission and load it on page start (per board)
This commit is contained in:
parent
1e29426509
commit
77f8ad9bcd
2 changed files with 38 additions and 4 deletions
|
@ -22,15 +22,49 @@ function setupQRFlags($flags: JQuery<HTMLSelectElement>) {
|
|||
);
|
||||
}
|
||||
|
||||
function getBoard() {
|
||||
const pathParts = location.pathname.split("/");
|
||||
if(pathParts.length < 2) return null;
|
||||
return pathParts[1];
|
||||
}
|
||||
|
||||
function loadFlagSelection() {
|
||||
const board = getBoard();
|
||||
const savedFlag = localStorage.getItem(`flag_${board}`);
|
||||
if(board !== null && savedFlag !== null) {
|
||||
const $sel = $<HTMLSelectElement>("select")
|
||||
.filter((_,el) => el.name === "post-flag");
|
||||
const num = $sel.find("option")
|
||||
.filter((_,el) => el.value === savedFlag).length;
|
||||
if(num > 0) {
|
||||
$sel.val(savedFlag);
|
||||
$sel.trigger("change");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function saveFlagSelection(ev: JQuery.SubmitEvent) {
|
||||
const board = getBoard();
|
||||
if(!board) return;
|
||||
const flag = $(ev.target)
|
||||
.find<HTMLSelectElement>("select")
|
||||
.filter((_,ev) => ev.name === "post-flag")
|
||||
.val() as string;
|
||||
localStorage.setItem(`flag_${board}`, flag);
|
||||
}
|
||||
|
||||
export function initFlags() {
|
||||
const $flagChanger = $<HTMLSelectElement>("select")
|
||||
.filter((_, el) => el.name == "post-flag");
|
||||
.filter((_, el) => el.name === "post-flag");
|
||||
if($flagChanger.length < 1) return;
|
||||
|
||||
updateFlagPreview($flagChanger);
|
||||
$flagChanger.on("change", (ev:JQuery.ChangeEvent) => {
|
||||
updateFlagPreview($(ev.target))
|
||||
});
|
||||
$flagChanger.on("change", (ev:JQuery.ChangeEvent) =>
|
||||
updateFlagPreview($(ev.target)));
|
||||
setupQRFlags($flagChanger);
|
||||
|
||||
loadFlagSelection();
|
||||
$("form").filter((_,el) =>
|
||||
el.getAttribute("action") === path.join(webroot || "/", "post"))
|
||||
.on("submit", saveFlagSelection);
|
||||
}
|
BIN
html/static/flags/halflife.png
Normal file
BIN
html/static/flags/halflife.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 727 B |
Loading…
Add table
Add a link
Reference in a new issue