import '@fontsource-variable/outfit' import './styles/Pages.css' import { createRoot } from 'react-dom/client' import { createBrowserRouter, Navigate, RouterProvider } from 'react-router' import { StopList } from './pages/StopList.tsx' import { Estimates } from './pages/Estimates.tsx' import { StopMap } from './pages/Map.tsx' import { Layout } from './Layout.tsx' import { Sun, Moon } from 'lucide-react'; import { useState, useEffect } from 'react'; const router = createBrowserRouter([ { path: '/', element: , }, { path: '/stops', element: , }, { path: '/map', element: , }, { path: '/estimates/:stopId', element: }, { path: '/about', element: } ]) function About() { const [theme, setTheme] = useState<'light' | 'dark'>(() => { const savedTheme = localStorage.getItem('theme'); if (savedTheme) { return savedTheme as 'light' | 'dark'; } const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; return prefersDark ? 'dark' : 'light'; }); useEffect(() => { document.documentElement.setAttribute('data-theme', theme); localStorage.setItem('theme', theme); }, [theme]); const toggleTheme = () => { setTheme((prevTheme) => (prevTheme === 'light' ? 'dark' : 'light')); }; return (

About InfoBus App

This application helps you find bus stops and check bus arrival estimates.

Version 1.0.0

) } createRoot(document.getElementById('root')!).render( , )