import { NostrAccount } from "@lume/system"; import { Spinner } from "@lume/ui"; import { createLazyFileRoute } from "@tanstack/react-router"; import { useState } from "react"; import { toast } from "sonner"; export const Route = createLazyFileRoute("/auth/remote")({ component: Screen, }); function Screen() { const navigate = Route.useNavigate(); const [uri, setUri] = useState(""); const [loading, setLoading] = useState(false); const submit = async () => { if (!uri.startsWith("bunker://")) return toast.warning( "You need to enter a valid Connect URI starts with bunker://", ); try { setLoading(true); const remoteAccount = await NostrAccount.connectRemoteAccount(uri); if (remoteAccount?.length) { return navigate({ to: "/auth/$account/settings", params: { account: remoteAccount }, replace: true, }); } } catch (e) { setLoading(false); toast.error(e); } }; return (

Continue with Nostr Connect

setUri(e.target.value)} className="h-11 rounded-lg border-transparent bg-neutral-100 px-3 placeholder:text-neutral-600 focus:border-blue-500 focus:ring-0 dark:bg-white/10 dark:placeholder:text-neutral-400" />
{loading ? (

Waiting confirmation...

) : null}
); }