mirror of
https://github.com/Eggbertx/gochan.git
synced 2025-08-02 19:16: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 { prepareThumbnails, initPostPreviews } from "./postutil";
|
||||
import { addPostDropdown } from "./dom/postdropdown";
|
||||
import { initFlags } from "./dom/flags";
|
||||
import { initQR } from "./dom/qr";
|
||||
import { getBooleanStorageVal, getStorageVal } from "./storage";
|
||||
|
||||
|
@ -56,6 +57,7 @@ $(() => {
|
|||
addPostDropdown($(elem));
|
||||
});
|
||||
$(document).on("keydown", handleKeydown);
|
||||
initFlags();
|
||||
setCustomCSS();
|
||||
setCustomJS();
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue