import { useState } from "react"; import { createRoot } from "react-dom/client"; import browser from "webextension-polyfill"; import * as Checkbox from "@radix-ui/react-checkbox"; import { PERMISSION_NAMES } from "./common"; import { LogoIcon } from "./icons"; function Prompt() { const [isRemember, setIsRemember] = useState(false); const qs = new URLSearchParams(location.search); const id = qs.get("id"); const host = qs.get("host"); const type = qs.get("type"); let params: { [key: string]: string } | null; let event = ""; try { params = JSON.parse(qs.get("params") as string); if (params) { if (Object.keys(params).length === 0) { params = null; } else if (params.event) { event = params.event; } } } catch (err) { params = null; } function authorizeHandler(accept: boolean) { const conditions = isRemember ? {} : null; return (ev: React.FormEvent) => { ev.preventDefault(); browser.runtime.sendMessage({ prompt: true, id, host, type, accept, conditions, }); }; } return (

{host}

is requesting your permission to{" "} {PERMISSION_NAMES[type ? type : "unknown"]}

{params && (

Now acting on

							{JSON.stringify(event || params, null, 2)}
						
)}
setIsRemember((prev) => !prev)} >
); } const container = document.getElementById("main"); const root = createRoot(container!); root.render();