import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime"; import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import { AuthGate } from './components/AuthGate'; import { UpdateBanner } from './components/UpdateBanner'; import { useVersionCheck } from './hooks/useVersionCheck'; import { Layout } from './components/Layout'; import { Planner } from './pages/Planner'; import { Settings } from './pages/CategorySettings'; import { can } from './types'; function AppRoutes({ user }) { return (_jsx(Layout, { user: user, children: _jsxs(Routes, { children: [_jsx(Route, { path: "/", element: _jsx(Navigate, { to: "/planner", replace: true }) }), _jsx(Route, { path: "/planner", element: _jsx(Planner, {}) }), _jsx(Route, { path: "/settings", element: can(user, 'settings') ? _jsx(Settings, {}) : _jsx(Navigate, { to: "/planner", replace: true }) }), _jsx(Route, { path: "*", element: _jsx(Navigate, { to: "/planner", replace: true }) })] }) })); } export default function App() { const updateAvailable = useVersionCheck('/hk-planner/health'); return (_jsxs(_Fragment, { children: [_jsx(BrowserRouter, { basename: "/hk-planner", children: _jsx(AuthGate, { children: user => _jsx(AppRoutes, { user: user }) }) }), _jsx(UpdateBanner, { visible: updateAvailable })] })); }