import { useArk } from "@lume/ark"; import { ArrowRightIcon, CancelIcon } from "@lume/icons"; import * as Dialog from "@radix-ui/react-dialog"; import { useNavigate } from "@tanstack/react-router"; import { useState } from "react"; import { toast } from "sonner"; export function LoginDialog() { const ark = useArk(); const navigate = useNavigate(); const [nsec, setNsec] = useState(""); const [passphase, setPassphase] = useState(""); const login = async () => { try { if (!nsec.length) { return toast.info("You must enter a valid nsec or ncrypto"); } if (nsec.startsWith("ncrypto") && !passphase.length) { return toast.warning("You must provide a passphase for ncrypto key"); } const save = await ark.save_account(nsec, passphase); if (save) { navigate({ to: "/", search: { guest: false } }); } } catch (e) { toast.error(String(e)); } }; return ( Esc

Add new account with

setNsec(e.target.value)} className="h-11 w-full resize-none rounded-lg border-transparent bg-neutral-100 placeholder:text-neutral-600 focus:border-blue-500 focus:ring focus:ring-blue-100 dark:bg-neutral-900 dark:focus:ring-blue-900" />
setPassphase(e.target.value)} className="h-11 w-full resize-none rounded-lg border-transparent bg-neutral-100 placeholder:text-neutral-600 focus:border-blue-500 focus:ring focus:ring-blue-100 dark:bg-neutral-900 dark:focus:ring-blue-900" />
); }