basics of new popup are good to go
This commit is contained in:
@@ -14,11 +14,11 @@ class PopupState {
|
|||||||
this.logged_in = logged_in
|
this.logged_in = logged_in
|
||||||
this.page_sections = page_sections
|
this.page_sections = page_sections
|
||||||
this.visible_section = visible_section
|
this.visible_section = visible_section
|
||||||
this.setVisibleSection(logged_in ? "report" : "signup")
|
this.set_visible_section(logged_in ? "report" : "signup")
|
||||||
this.page_elements = page_elements
|
this.page_elements = page_elements
|
||||||
}
|
}
|
||||||
|
|
||||||
setVisibleSection(section_id: string) {
|
set_visible_section(section_id: string) {
|
||||||
this.visible_section = section_id
|
this.visible_section = section_id
|
||||||
this.page_sections.forEach((element, id) => {
|
this.page_sections.forEach((element, id) => {
|
||||||
element.style.visibility = id === section_id ? "visible" : "collapse"
|
element.style.visibility = id === section_id ? "visible" : "collapse"
|
||||||
@@ -46,6 +46,8 @@ async function submit_login_form() {
|
|||||||
|
|
||||||
const status_el = document.getElementById("login-status")
|
const status_el = document.getElementById("login-status")
|
||||||
status_el.setAttribute("style", "visibility: visible;")
|
status_el.setAttribute("style", "visibility: visible;")
|
||||||
|
|
||||||
|
popup_state.set_visible_section("report")
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//bad login, update the form
|
//bad login, update the form
|
||||||
@@ -70,7 +72,7 @@ async function submit_signup_form() {
|
|||||||
|
|
||||||
async function check_login(): Promise<boolean> {
|
async function check_login(): Promise<boolean> {
|
||||||
const response = await send_message_to_background({type: "islogged"})
|
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() })
|
login_form.addEventListener("submit", (event) => { event.preventDefault(); submit_login_form() })
|
||||||
signup_form.addEventListener("submit", (event) => { event.preventDefault(); submit_signup_form() })
|
signup_form.addEventListener("submit", (event) => { event.preventDefault(); submit_signup_form() })
|
||||||
|
|
||||||
signup_button.addEventListener("click", (event) => {popup_state.setVisibleSection("signup")})
|
signup_button.addEventListener("click", (event) => {popup_state.set_visible_section("signup")})
|
||||||
login_button.addEventListener("click", (event) => {popup_state.setVisibleSection("login")})
|
login_button.addEventListener("click", (event) => {popup_state.set_visible_section("login")})
|
||||||
}
|
}
|
||||||
|
|
||||||
addEventListener("DOMContentLoaded", (event) => {
|
addEventListener("DOMContentLoaded", (event) => {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
export const API_URL: string = "https://api.slopfarmer.jack-case.pro"
|
export const API_URL: string = "https://api.slopfarmer.jack-case.pro"
|
||||||
|
|
||||||
export async function send_message_to_background(message: any): Promise<any> {
|
export async function send_message_to_background(message: any): Promise<any> {
|
||||||
const response = await browser.runtime.sendMessage(message)
|
const response = browser.runtime.sendMessage(message)
|
||||||
return response
|
return response
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ async function update_page_action_icon(details: browser.webNavigation._OnCommitt
|
|||||||
console.log(is_slop)
|
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<any> {
|
||||||
switch (message.type) {
|
switch (message.type) {
|
||||||
|
|
||||||
case "check":
|
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)
|
||||||
let remote_slop = await check_remote_slop(not_found_local)
|
remote_slop.then((remote_results) => {
|
||||||
remote_slop.forEach((result: any) => {
|
remote_results.forEach((result: any) => {
|
||||||
browser.tabs.sendMessage(tabid, { type: "check_result", domain: result.domain_name, result: result })
|
browser.tabs.sendMessage(tabid, { type: "check_result", domain: result.domain_name, result: result })
|
||||||
})
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
return result
|
||||||
break
|
break
|
||||||
|
|
||||||
case "login":
|
case "login":
|
||||||
localStorage.setItem("accessToken", message.token)
|
localStorage.setItem("accessToken", message.token)
|
||||||
send_response(true)
|
return new Promise((resolve, reject) => { resolve(true) })
|
||||||
break
|
break
|
||||||
|
|
||||||
case "islogged":
|
case "islogged":
|
||||||
const token = get_access_token()
|
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
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user