import { Show } from "solid-js" type SignerTab = "qr" | "paste" // Presentational NIP-46 signer panel. No signers are created here; QR/URI are // generated in Login.tsx and passed down, and actions are surfaced as callbacks. // Props are reactive only when read lazily, so access props.* inside JSX, never // destructure signal-bearing props at the top. type LoginSignerScreenProps = { signerTab: () => SignerTab setSignerTab: (tab: SignerTab) => void qrDataUrl: () => string nostrConnectUri: () => string bunkerUrl: () => string setBunkerUrl: (value: string) => void loading: () => boolean onBack: () => void onCopyUri: () => void onScan: () => void onConnectBunker: () => void } export default function LoginSignerScreen(props: LoginSignerScreenProps) { return ( <>

Log in with signer

{props.loading() ? "Generating..." : "Loading QR code..."}
}> Nostrconnect QR code
props.setBunkerUrl(e.currentTarget.value)} placeholder="bunker://..." class="min-w-0 flex-1 rounded-l-lg border-0 px-3 py-2 text-sm bg-transparent focus:outline-none" />
) }