import { useArk } from "@lume/ark"; import { LoaderIcon } from "@lume/icons"; import { createLazyFileRoute, useNavigate } from "@tanstack/react-router"; import { useState } from "react"; import { useTranslation } from "react-i18next"; import { toast } from "sonner"; export const Route = createLazyFileRoute("/auth/privkey")({ component: Screen, }); function Screen() { const ark = useArk(); const navigate = useNavigate(); const [t] = useTranslation(); const [key, setKey] = useState(""); const [password, setPassword] = useState(""); const [loading, setLoading] = useState(false); const submit = async () => { if (!key.startsWith("nsec1")) return toast.warning( "You need to enter a valid private key starts with nsec or ncryptsec", ); if (key.length < 30) return toast.warning("You need to enter a valid private key"); setLoading(true); try { const npub = await ark.save_account(key, password); navigate({ to: "/auth/settings", search: { account: npub, new: false }, replace: true, }); } catch (e) { toast.error(e); } setLoading(false); }; return (

Continue with Private Key

setKey(e.target.value)} className="h-11 rounded-lg border-transparent bg-neutral-100 px-3 placeholder:text-neutral-500 focus:border-blue-500 focus:ring focus:ring-blue-200 dark:bg-neutral-950 dark:placeholder:text-neutral-400 dark:focus:ring-blue-800" />
setPassword(e.target.value)} className="h-11 rounded-lg border-transparent bg-neutral-100 px-3 placeholder:text-neutral-500 focus:border-blue-500 focus:ring focus:ring-blue-200 dark:bg-neutral-950 dark:placeholder:text-neutral-400 dark:focus:ring-blue-800" />
); }