import { commands } from "@/commands.gen"; import { Frame, GoBack, Spinner } from "@/components"; import { createLazyFileRoute } from "@tanstack/react-router"; import { readText } from "@tauri-apps/plugin-clipboard-manager"; import { message } from "@tauri-apps/plugin-dialog"; import { useState, useTransition } from "react"; export const Route = createLazyFileRoute("/auth/connect")({ component: Screen, }); function Screen() { const navigate = Route.useNavigate(); const [uri, setUri] = useState(""); const [isPending, startTransition] = useTransition(); const pasteFromClipboard = async () => { const val = await readText(); setUri(val); }; const submit = () => { startTransition(async () => { if (!uri.startsWith("bunker://")) { await message( "You need to enter a valid Connect URI starts with bunker://", { title: "Nostr Connect", kind: "info" }, ); return; } const res = await commands.connectAccount(uri); if (res.status === "ok") { navigate({ to: "/", replace: true }); } else { await message(res.error, { title: "Nostr Connect", kind: "error" }); return; } }); }; return (
Waiting confirmation...
) : (