import { NavLink, Navigate, Outlet, Route, Routes, useLocation } from 'react-router-dom' import { LogOut } from 'lucide-react' import { useAuth } from './context/AuthContext.jsx' import { getMainNavItems } from './config/appNav.js' import LoginScreen from './pages/LoginScreen.jsx' import SetupScreen from './pages/SetupScreen.jsx' import HomePage from './pages/HomePage.jsx' import DialoguePage from './pages/DialoguePage.jsx' import JournalSpacesPage from './pages/JournalSpacesPage.jsx' import JournalSpacePage from './pages/JournalSpacePage.jsx' import JournalDayPage from './pages/JournalDayPage.jsx' import JournalEditorPage from './pages/JournalEditorPage.jsx' import JournalSourcePage from './pages/JournalSourcePage.jsx' import SettingsPage from './pages/SettingsPage.jsx' import AdminHomePage from './pages/AdminHomePage.jsx' import AdminUsersPage from './pages/AdminUsersPage.jsx' import AdminPromptsPage from './pages/AdminPromptsPage.jsx' import AdminPlaceholdersPage from './pages/AdminPlaceholdersPage.jsx' import AdminFeaturesPage from './pages/AdminFeaturesPage.jsx' import AdminDialoguePage from './pages/AdminDialoguePage.jsx' import AdminProvidersPage from './pages/AdminProvidersPage.jsx' import RequireAdmin from './layouts/RequireAdmin.jsx' import AdminShell from './layouts/AdminShell.jsx' import { UnsavedProvider, useUnsavedChanges } from './context/UnsavedChanges.jsx' function navItemActive(pathname, item, routerIsActive) { if (item.to.startsWith('/admin')) return pathname.startsWith('/admin') if (item.to === '/journal') return pathname.startsWith('/journal') return routerIsActive } function BottomNav({ isAdmin }) { const items = getMainNavItems(isAdmin) const loc = useLocation() return ( ) } function DesktopSidebar({ isAdmin, onLogout, name }) { const items = getMainNavItems(isAdmin) const loc = useLocation() return ( ) } function AppShell() { const { session, isAdmin, logout } = useAuth() const { confirmLeave } = useUnsavedChanges() const onLogout = () => { if (!confirmLeave()) return logout() } return (
Kanshō
) } export default function App() { const { loading, needsSetup, session } = useAuth() if (loading) { return
Lädt …
} if (needsSetup) { return } if (!session) { return } return ( }> } /> } /> } /> } /> } /> } /> } /> }> } /> }> } /> } /> } /> } /> } /> } /> } /> } /> ) }