import { useArk } from "@lume/ark"; import { User } from "@lume/ui"; import { createFileRoute, redirect, useNavigate } from "@tanstack/react-router"; export const Route = createFileRoute("/")({ beforeLoad: async ({ location, context }) => { const ark = context.ark; const accounts = await ark.get_all_accounts(); switch (accounts.length) { // Empty account case 0: throw redirect({ to: "/landing", search: { redirect: location.href, }, }); // Only 1 account, skip account selection screen case 1: const loadAccount = await ark.load_selected_account(accounts[0].npub); if (loadAccount) { throw redirect({ to: "/app/home", search: { redirect: location.href, }, }); } // Account selection default: return; } }, component: Screen, }); function Screen() { const ark = useArk(); const navigate = useNavigate(); const select = async (npub: string) => { const loadAccount = await ark.load_selected_account(npub); if (loadAccount) { navigate({ to: "/app/home", replace: true, }); } }; return (
{ark.accounts.map((account) => ( ))}
); }