mirror of
https://github.com/Eggbertx/gochan.git
synced 2025-08-03 07:36:23 -07:00
Add flag preview functionality to frontend, add flag to QR
This commit is contained in:
parent
6a102bce6a
commit
1e29426509
2 changed files with 38 additions and 0 deletions
36
frontend/ts/dom/flags.ts
Normal file
36
frontend/ts/dom/flags.ts
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
import path from "path";
|
||||||
|
|
||||||
|
import { $qr } from "./qr";
|
||||||
|
|
||||||
|
function updateFlagPreview($sel: JQuery<HTMLSelectElement>) {
|
||||||
|
const $preview = $sel.next("img");
|
||||||
|
let val = $sel.val() as string;
|
||||||
|
if(val === "" || val === "geoip") {
|
||||||
|
val = "blank.gif";
|
||||||
|
}
|
||||||
|
$preview.attr("src", path.join(webroot || "/", "static/flags", val));
|
||||||
|
}
|
||||||
|
|
||||||
|
function setupQRFlags($flags: JQuery<HTMLSelectElement>) {
|
||||||
|
if(!$qr) return;
|
||||||
|
$qr.find("div#qrbuttons").before(
|
||||||
|
$("<div/>").append(
|
||||||
|
$flags.clone(true, true).attr("id", "qrpost-flag"),
|
||||||
|
$("<img/>").addClass("flag-preview")
|
||||||
|
.attr("src", path.join(webroot || "/", "static/flags/blank.gif"))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function initFlags() {
|
||||||
|
const $flagChanger = $<HTMLSelectElement>("select")
|
||||||
|
.filter((_, el) => el.name == "post-flag");
|
||||||
|
if($flagChanger.length < 1) return;
|
||||||
|
|
||||||
|
updateFlagPreview($flagChanger);
|
||||||
|
$flagChanger.on("change", (ev:JQuery.ChangeEvent) => {
|
||||||
|
updateFlagPreview($(ev.target))
|
||||||
|
});
|
||||||
|
setupQRFlags($flagChanger);
|
||||||
|
}
|
|
@ -10,6 +10,7 @@ import { initStaff, createStaffMenu } from "./management/manage";
|
||||||
import { getPageThread } from "./postinfo";
|
import { getPageThread } from "./postinfo";
|
||||||
import { prepareThumbnails, initPostPreviews } from "./postutil";
|
import { prepareThumbnails, initPostPreviews } from "./postutil";
|
||||||
import { addPostDropdown } from "./dom/postdropdown";
|
import { addPostDropdown } from "./dom/postdropdown";
|
||||||
|
import { initFlags } from "./dom/flags";
|
||||||
import { initQR } from "./dom/qr";
|
import { initQR } from "./dom/qr";
|
||||||
import { getBooleanStorageVal, getStorageVal } from "./storage";
|
import { getBooleanStorageVal, getStorageVal } from "./storage";
|
||||||
|
|
||||||
|
@ -56,6 +57,7 @@ $(() => {
|
||||||
addPostDropdown($(elem));
|
addPostDropdown($(elem));
|
||||||
});
|
});
|
||||||
$(document).on("keydown", handleKeydown);
|
$(document).on("keydown", handleKeydown);
|
||||||
|
initFlags();
|
||||||
setCustomCSS();
|
setCustomCSS();
|
||||||
setCustomJS();
|
setCustomJS();
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue