diff --git a/frontend/src/components/layout/PageShell.tsx b/frontend/src/components/layout/PageShell.tsx index 9c9b4a7..089f706 100644 --- a/frontend/src/components/layout/PageShell.tsx +++ b/frontend/src/components/layout/PageShell.tsx @@ -1,5 +1,5 @@ import type { ReactNode } from 'react'; -import Sidebar from './Sidebar'; +import Sidebar, { BottomNav } from './Sidebar'; interface Props { children: ReactNode; @@ -9,7 +9,7 @@ export default function PageShell({ children }: Props) { return (
-
{children}
+
); } diff --git a/frontend/src/components/layout/Sidebar.tsx b/frontend/src/components/layout/Sidebar.tsx index 888f353..363d4c6 100644 --- a/frontend/src/components/layout/Sidebar.tsx +++ b/frontend/src/components/layout/Sidebar.tsx @@ -15,29 +15,43 @@ const TRANSP_LABELS: Record = { const navItems = [ { path: '/dashboard', label: 'Dashboard', icon: '⬡' }, - { path: '/targets', label: 'Targets', icon: '✦' }, - { path: '/calendar', label: 'Calendar', icon: '◫' }, - { path: '/stats', label: 'Statistics', icon: '▤' }, - { path: '/gallery', label: 'Gallery', icon: '⬚' }, - { path: '/solar-system', label: 'Solar System', icon: '◉' }, - { path: '/settings', label: 'Settings', icon: '⚙' }, + { path: '/targets', label: 'Targets', icon: '✦' }, + { path: '/calendar', label: 'Calendar', icon: '◫' }, + { path: '/stats', label: 'Stats', icon: '▤' }, + { path: '/gallery', label: 'Gallery', icon: '⬚' }, + { path: '/solar-system', label: 'Solar', icon: '◉' }, + { path: '/settings', label: 'Settings', icon: '⚙' }, ]; function fmtTime(utc?: string): string { if (!utc) return '—'; return new Date(utc).toLocaleTimeString('fr-FR', { - hour: '2-digit', - minute: '2-digit', - timeZone: 'Europe/Paris', + hour: '2-digit', minute: '2-digit', timeZone: 'Europe/Paris', }); } +export function BottomNav() { + return ( + + ); +} + export default function Sidebar() { const { data: tonight } = useTonight(); const { data: weather } = useWeather(); const { data: forecast } = useForecast(); - // First forecast slot = current/nearest 3-hour window const slot = (forecast as { dataseries?: { seeing?: number; transparency?: number; cloudcover?: number }[] })?.dataseries?.[0]; const darkStart = tonight?.true_dark_start_utc; @@ -50,13 +64,8 @@ export default function Sidebar() { ? (weather.temp_c - weather.dew_point_c).toFixed(1) : null; - const seeingMap: Record = { - 1: '0.5″', 2: '0.75″', 3: '1.0″', 4: '1.25″', - 5: '1.5″', 6: '2.0″', 7: '2.5″', 8: '>3″', - }; - return ( -