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;