diff options
Diffstat (limited to 'frontend/admin.ts')
-rw-r--r-- | frontend/admin.ts | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/frontend/admin.ts b/frontend/admin.ts index 40a7a94..6c3ee5b 100644 --- a/frontend/admin.ts +++ b/frontend/admin.ts @@ -4,13 +4,12 @@ interface PendingBang { bang: string, name: string, url: string, - email: string | undefined, + email?: string, } -async function sendVerdict(user: string, pw: string, b: PendingBang, - accept: boolean, info_block: HTMLDivElement) -{ - let err = await fetch(accept? "acceptBang" : "rejectBang", { +async function send_verdict(user: string, pw: string, b: PendingBang, + accept: boolean, info_block: HTMLDivElement) { + const err = await fetch(accept ? "acceptBang" : "rejectBang", { headers: { Accept: "application/json", "Content-Type": "application/json", @@ -21,8 +20,7 @@ async function sendVerdict(user: string, pw: string, b: PendingBang, }).then(_ => null).catch(e => "" + e) if (err) - info_block.appendChild(e("p", {class: "verdict-error"}, - "Something went wrong: " + await err)) + info_block.appendChild(e("p", { class: "verdict-error" }, "Something went wrong: " + err)) else info_block.remove() // TODO in the accept case, we should try invalidating the browser cache @@ -30,7 +28,7 @@ async function sendVerdict(user: string, pw: string, b: PendingBang, // see that the etag has changed; idk of that works } -export async function tryLoadAdminPanel(user: string, pw: string) { +export async function try_load_admin_panel(user: string, pw: string) { const r = await fetch("pendingBangs", { headers: { Accept: "application/json", @@ -48,22 +46,22 @@ export async function tryLoadAdminPanel(user: string, pw: string) { for (const e of [...document.getElementsByTagName("section")]) e.remove() document.body.appendChild(e("section", {}, ...pending.map(b => { - const btn_accept = e("button", {class: "pending-accept"}, "Accept") - const btn_reject = e("button", {class: "pending-reject"}, "Reject") + const btn_accept = e("button", { class: "pending-accept" }, "Accept") + const btn_reject = e("button", { class: "pending-reject" }, "Reject") - let r = e("div", {class: "pending-block"}, - e("span", {class: "pending-info"}, - e("p", {class: "pending-bang"}, "!" + b.bang), - e("p", {class: "pending-name"}, b.name), - e("p", {class: "pending-url"}, b.url), - ...(b.email? [e("p", {class: "pending-email"}, b.email)] : []) + const r = e("div", { class: "pending-block" }, + e("span", { class: "pending-info" }, + e("p", { class: "pending-bang" }, "!" + b.bang), + e("p", { class: "pending-name" }, b.name), + e("p", { class: "pending-url" }, b.url), + ...(b.email ? [e("p", { class: "pending-email" }, b.email)] : []) ), btn_accept, btn_reject, ) - btn_accept.addEventListener("click", () => sendVerdict(user, pw, b, true, r)) - btn_reject.addEventListener("click", () => sendVerdict(user, pw, b, false, r)) + btn_accept.addEventListener("click", () => send_verdict(user, pw, b, true, r)) + btn_reject.addEventListener("click", () => send_verdict(user, pw, b, false, r)) return r }))) |