import { useState, useCallback } from "preact/hooks"; import { useT } from "@shared/i18n/context"; import type { TranslationKey } from "@shared/i18n/translations"; interface AddAccountProps { visible: boolean; onSubmitRelay: (callbackUrl: string) => Promise; addInfo: string; addError: string; } export function AddAccount({ visible, onSubmitRelay, addInfo, addError }: AddAccountProps) { const t = useT(); const [input, setInput] = useState(""); const [submitting, setSubmitting] = useState(false); const handleSubmit = useCallback(async () => { setSubmitting(true); await onSubmitRelay(input); setSubmitting(false); setInput(""); }, [input, onSubmitRelay]); if (!visible && !addInfo && !addError) return null; return ( <> {addInfo && (

{t(addInfo as TranslationKey)}

)} {addError && (

{t(addError as TranslationKey)}

)} {visible && (
setInput((e.target as HTMLInputElement).value)} placeholder={t("pasteCallback")} class="flex-1 px-3 py-2.5 bg-slate-50 dark:bg-bg-dark border border-gray-200 dark:border-border-dark rounded-lg text-sm font-mono text-slate-600 dark:text-text-main focus:ring-2 focus:ring-primary/50 focus:border-primary outline-none transition-colors" />
)} ); }