import Router from 'preact-router' import { route } from 'preact-router' import { useContext, useEffect } from 'preact/hooks' import { prependBaseUrl } from '../shared/utils' import { ServerContext } from './hooks' import { UserProvider } from './hooks/useCurrentUser' import { AdminPage } from './pages/AdminPage' import { ErrorPage } from './pages/ErrorPage' import { HomePage } from './pages/HomePage' import { LoginPage } from './pages/LoginPage' import { NotFoundPage } from './pages/NotFoundPage' import { ProblemPage } from './pages/ProblemPage' import { ProfilePage } from './pages/ProfilePage' import { ScoresPage } from './pages/ScoresPage' import { UserPage } from './pages/UserPage' import { JumbotronPage } from './pages/JumbotronPage' // const Redirect = ({ to }: { to: string }) => { // useEffect(() => { // route(prependBaseUrl(to), true) // }, []) // return ( // <> // Redirecting to
{to}...
// >
// )
// }
export const App = ({ url }: { url?: string }) => {
// during server side rendering don't prepend the BASE_URL
const pbu = prependBaseUrl
const handleRouteChange = () => {
// @ts-ignore
if (typeof window !== 'undefined' && window.goatcounter) {
// @ts-ignore
window.goatcounter.count({
path: location.pathname + location.search + location.hash,
})
}
}
return (