feat: update create account flow

This commit is contained in:
2024-01-07 16:39:05 +07:00
parent 7554a35c31
commit 87099c6388
14 changed files with 486 additions and 833 deletions

View File

@@ -1,7 +1,6 @@
import { useArk, useStorage } from "@lume/ark";
import { LoaderIcon } from "@lume/icons";
import { AppLayout, AuthLayout, HomeLayout, SettingsLayout } from "@lume/ui";
import { NDKEvent, NDKKind } from "@nostr-dev-kit/ndk";
import { fetch } from "@tauri-apps/plugin-http";
import {
RouterProvider,
@@ -24,7 +23,7 @@ export default function Router() {
element: <HomeLayout />,
errorElement: <ErrorScreen />,
loader: async () => {
if (!storage.account) return redirect("auth/welcome");
if (!storage.account) return redirect("auth");
return null;
},
children: [
@@ -171,7 +170,7 @@ export default function Router() {
errorElement: <ErrorScreen />,
children: [
{
path: "welcome",
index: true,
async lazy() {
const { WelcomeScreen } = await import("./routes/auth/welcome");
return { Component: WelcomeScreen };
@@ -180,23 +179,7 @@ export default function Router() {
{
path: "create",
loader: async () => {
const trusted: NDKEvent[] = [];
const services = await ark.ndk.fetchEvents({
kinds: [NDKKind.AppHandler],
"#k": ["24133"],
});
for (const service of services) {
const nip05 = JSON.parse(service.content).nip05;
const validate = await ark.validateNIP05({
pubkey: service.pubkey,
nip05,
});
if (validate) trusted.push(service);
}
return trusted;
return await ark.getOAuthServices();
},
async lazy() {
const { CreateAccountScreen } = await import(
@@ -205,15 +188,6 @@ export default function Router() {
return { Component: CreateAccountScreen };
},
},
{
path: "create-profile",
async lazy() {
const { CreateProfileScreen } = await import(
"./routes/auth/create-profile"
);
return { Component: CreateProfileScreen };
},
},
{
path: "import",
async lazy() {
@@ -232,20 +206,6 @@ export default function Router() {
return { Component: OnboardingScreen };
},
},
{
path: "follow",
async lazy() {
const { FollowScreen } = await import("./routes/auth/follow");
return { Component: FollowScreen };
},
},
{
path: "finish",
async lazy() {
const { FinishScreen } = await import("./routes/auth/finish");
return { Component: FinishScreen };
},
},
{
path: "tutorials/note",
async lazy() {