import { useArk } from "@lume/ark"; import { CheckIcon, EyeOffIcon, EyeOnIcon, LoaderIcon } from "@lume/icons"; import { Keys } from "@lume/types"; import * as Checkbox from "@radix-ui/react-checkbox"; import { createLazyFileRoute, useNavigate } from "@tanstack/react-router"; import { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { toast } from "sonner"; export const Route = createLazyFileRoute("/auth/create/self")({ component: Create, }); function Create() { const ark = useArk(); const navigate = useNavigate(); const [t] = useTranslation(); const [loading, setLoading] = useState(false); const [showKey, setShowKey] = useState(false); const [confirm, setConfirm] = useState({ c1: false, c2: false, c3: false }); const [keys, setKeys] = useState(null); const submit = async () => { setLoading(true); try { await ark.save_account(keys); navigate({ to: "/$account/home/local", params: { account: keys.npub }, search: { onboarding: true }, replace: true, }); } catch (e) { setLoading(false); toast.error(e); } }; useEffect(() => { async function genKeys() { const res = await ark.create_keys(); setKeys(res); } genKeys(); }, []); return (

{t("signupWithSelfManage.title")}

{t("signupWithSelfManage.subtitle")}

{keys ? ( ) : null}
setConfirm((state) => ({ ...state, c1: !state.c1 })) } className="flex size-7 appearance-none items-center justify-center rounded-lg bg-neutral-100 outline-none dark:bg-neutral-900" id="confirm1" >
setConfirm((state) => ({ ...state, c3: !state.c3 })) } className="flex size-7 appearance-none items-center justify-center rounded-lg bg-neutral-100 outline-none dark:bg-neutral-900" id="confirm3" >
setConfirm((state) => ({ ...state, c2: !state.c2 })) } className="flex size-7 appearance-none items-center justify-center rounded-lg bg-neutral-100 outline-none dark:bg-neutral-900" id="confirm2" >
); }