import { Show, createSignal } from "solid-js"; export interface AdoptionConsentModalProps { receiverDeviceName: string; sas: string; verifyMasterPassword(password: string): Promise; onCancel(): void; onApprove(): Promise; } export function AdoptionConsentModal(props: AdoptionConsentModalProps) { const [password, setPassword] = createSignal(""); const [error, setError] = createSignal(""); const [busy, setBusy] = createSignal(false); async function submit() { if (!password() || busy()) return; setBusy(true); setError(""); try { const ok = await props.verifyMasterPassword(password()); if (!ok) { setPassword(""); setError("Incorrect password"); queueMicrotask(() => document.getElementById("adoption-consent-password")?.focus()); return; } await props.onApprove(); } finally { setBusy(false); } } return ( ); }