import { AppLayout } from "$components/layout/AppLayout"; import { OnboardingDialog } from "$components/OnboardingDialog"; import type { Persona } from "$lib/model"; import { authStore, prefStore } from "$lib/store"; import About from "$pages/About"; import DeckNew from "$pages/DeckNew"; import DeckPreview from "$pages/DeckPreview"; import DeckView from "$pages/DeckView"; import Discovery from "$pages/Discovery"; import Feed from "$pages/Feed"; import Help from "$pages/Help"; import Home from "$pages/Home"; import Import from "$pages/Import"; import Landing from "$pages/Landing"; import LectureImport from "$pages/LectureImport"; import Library from "$pages/Library"; import Login from "$pages/Login"; import LoginSuccess from "$pages/LoginSuccess"; import NoteEdit from "$pages/NoteEdit"; import NoteNew from "$pages/NoteNew"; import Notes from "$pages/Notes"; import NoteView from "$pages/NoteView"; import NotFound from "$pages/NotFound"; import Review from "$pages/Review"; import Search from "$pages/Search"; import Settings from "$pages/Settings"; import { Route, Router } from "@solidjs/router"; import type { Component, ParentComponent } from "solid-js"; import { createEffect, createSignal, onMount, Show } from "solid-js"; import { Motion, Presence } from "solid-motionone"; const LoadingScreen: Component = () => (
); const ProtectedLayout: ParentComponent = (props) => { const [showOnboarding, setShowOnboarding] = createSignal(false); onMount(async () => { if (authStore.isAuthenticated()) { await prefStore.fetchPrefs(); } }); createEffect(() => { if (prefStore.needsOnboarding()) { setShowOnboarding(true); } }); const handleOnboardingComplete = (_persona: Persona) => { setShowOnboarding(false); prefStore.fetchPrefs(); }; return ( }> {props.children} ); }; const App: Component = () => { return ( ); }; export default App;