From b55c47d5f17d20ca364fc748f1f69736a3d54ec7 Mon Sep 17 00:00:00 2001 From: Jack Case Date: Sun, 16 Nov 2025 23:25:27 +0000 Subject: [PATCH] basics of new popup are good to go --- src/browser-action.ts | 12 +++++++----- src/common.ts | 2 +- src/report-slop.ts | 20 +++++++++++++------- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/browser-action.ts b/src/browser-action.ts index 8c99fcc..faf8e39 100644 --- a/src/browser-action.ts +++ b/src/browser-action.ts @@ -14,11 +14,11 @@ class PopupState { this.logged_in = logged_in this.page_sections = page_sections this.visible_section = visible_section - this.setVisibleSection(logged_in ? "report" : "signup") + this.set_visible_section(logged_in ? "report" : "signup") this.page_elements = page_elements } - setVisibleSection(section_id: string) { + set_visible_section(section_id: string) { this.visible_section = section_id this.page_sections.forEach((element, id) => { element.style.visibility = id === section_id ? "visible" : "collapse" @@ -46,6 +46,8 @@ async function submit_login_form() { const status_el = document.getElementById("login-status") status_el.setAttribute("style", "visibility: visible;") + + popup_state.set_visible_section("report") } else { //bad login, update the form @@ -70,7 +72,7 @@ async function submit_signup_form() { async function check_login(): Promise { const response = await send_message_to_background({type: "islogged"}) - response.json + return response.logged_in } @@ -103,8 +105,8 @@ async function initialize_popup() { login_form.addEventListener("submit", (event) => { event.preventDefault(); submit_login_form() }) signup_form.addEventListener("submit", (event) => { event.preventDefault(); submit_signup_form() }) - signup_button.addEventListener("click", (event) => {popup_state.setVisibleSection("signup")}) - login_button.addEventListener("click", (event) => {popup_state.setVisibleSection("login")}) + signup_button.addEventListener("click", (event) => {popup_state.set_visible_section("signup")}) + login_button.addEventListener("click", (event) => {popup_state.set_visible_section("login")}) } addEventListener("DOMContentLoaded", (event) => { diff --git a/src/common.ts b/src/common.ts index 611196d..6688fd8 100644 --- a/src/common.ts +++ b/src/common.ts @@ -1,6 +1,6 @@ export const API_URL: string = "https://api.slopfarmer.jack-case.pro" export async function send_message_to_background(message: any): Promise { - const response = await browser.runtime.sendMessage(message) + const response = browser.runtime.sendMessage(message) return response } diff --git a/src/report-slop.ts b/src/report-slop.ts index 920bfb3..9be890a 100644 --- a/src/report-slop.ts +++ b/src/report-slop.ts @@ -181,7 +181,7 @@ async function update_page_action_icon(details: browser.webNavigation._OnCommitt console.log(is_slop) } -async function message_listener(message: any, sender: any, send_response: Function) { +function message_listener(message: any, sender: any, send_response: Function): Promise { switch (message.type) { case "check": @@ -200,22 +200,28 @@ async function message_listener(message: any, sender: any, send_response: Functi })) }) - await Promise.all(check_promises) + const result = Promise.all(check_promises).then(() => { + let remote_slop = check_remote_slop(not_found_local) + remote_slop.then((remote_results) => { + remote_results.forEach((result: any) => { + browser.tabs.sendMessage(tabid, { type: "check_result", domain: result.domain_name, result: result }) + }) + }) - let remote_slop = await check_remote_slop(not_found_local) - remote_slop.forEach((result: any) => { - browser.tabs.sendMessage(tabid, { type: "check_result", domain: result.domain_name, result: result }) }) + + return result break case "login": localStorage.setItem("accessToken", message.token) - send_response(true) + return new Promise((resolve, reject) => { resolve(true) }) break case "islogged": const token = get_access_token() - send_response(token ? true : false) + const response = { logged_in: token != null ? true : false } + return new Promise((resolve, reject) => { resolve(response) }) break } }