100 lines
3.3 KiB
TypeScript
100 lines
3.3 KiB
TypeScript
import { useEffect } from "react"
|
|
import { BrowserRouter, Route, Routes, useLocation } from "react-router-dom"
|
|
|
|
import { SiteFooter } from "@/components/gebos/site-footer"
|
|
import { SiteHeader } from "@/components/gebos/site-header"
|
|
import HauseigentuemerPage from "@/pages/audiences/hauseigentuemer"
|
|
import HausverwaltungenPage from "@/pages/audiences/hausverwaltungen"
|
|
import InstallateurePage from "@/pages/audiences/installateure"
|
|
import MessdienstleisterPage from "@/pages/audiences/messdienstleister"
|
|
import ConfiguratorPage from "@/pages/configurator"
|
|
import ForWhomPage from "@/pages/for-whom"
|
|
import HomePage from "@/pages/home"
|
|
import HowItWorksPage from "@/pages/how-it-works"
|
|
import KlarpreisPage from "@/pages/klarpreis"
|
|
import { SimplePage } from "@/pages/placeholder"
|
|
import SolutionsPage from "@/pages/solutions"
|
|
|
|
function ScrollToTop() {
|
|
const { pathname } = useLocation()
|
|
|
|
useEffect(() => {
|
|
window.scrollTo(0, 0)
|
|
}, [pathname])
|
|
|
|
return null
|
|
}
|
|
|
|
export default function App() {
|
|
return (
|
|
<BrowserRouter>
|
|
<ScrollToTop />
|
|
<div className="flex min-h-screen flex-col">
|
|
<SiteHeader />
|
|
<main className="flex-1">
|
|
<Routes>
|
|
<Route path="/" element={<HomePage />} />
|
|
<Route path="/so-funktionierts" element={<HowItWorksPage />} />
|
|
<Route path="/loesungen" element={<SolutionsPage />} />
|
|
<Route path="/fuer-wen" element={<ForWhomPage />} />
|
|
<Route
|
|
path="/fuer-wen/hauseigentuemer"
|
|
element={<HauseigentuemerPage />}
|
|
/>
|
|
<Route
|
|
path="/fuer-wen/hausverwaltungen"
|
|
element={<HausverwaltungenPage />}
|
|
/>
|
|
<Route
|
|
path="/fuer-wen/messdienstleister"
|
|
element={<MessdienstleisterPage />}
|
|
/>
|
|
<Route
|
|
path="/fuer-wen/installateure"
|
|
element={<InstallateurePage />}
|
|
/>
|
|
<Route path="/konfigurator" element={<ConfiguratorPage />} />
|
|
<Route path="/klarpreis" element={<KlarpreisPage />} />
|
|
<Route
|
|
path="/unternehmen"
|
|
element={
|
|
<SimplePage
|
|
breadcrumb={[
|
|
{ label: "Startseite", to: "/" },
|
|
{ label: "Unternehmen" },
|
|
]}
|
|
title="Unternehmen"
|
|
lead="GebOS verbindet Messtechnik, Datenerfassung und Software zu einem durchgängigen System für Wohngebäude."
|
|
/>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/kontakt"
|
|
element={
|
|
<SimplePage
|
|
breadcrumb={[
|
|
{ label: "Startseite", to: "/" },
|
|
{ label: "Kontakt" },
|
|
]}
|
|
title="Kontakt"
|
|
lead="Sprechen Sie mit uns über Ihr Gebäude, Ihr Portfolio oder Ihre Plattform-Anforderungen."
|
|
/>
|
|
}
|
|
/>
|
|
<Route
|
|
path="*"
|
|
element={
|
|
<SimplePage
|
|
title="Seite nicht gefunden"
|
|
lead="Die angeforderte Seite existiert nicht."
|
|
/>
|
|
}
|
|
/>
|
|
</Routes>
|
|
</main>
|
|
<SiteFooter />
|
|
</div>
|
|
</BrowserRouter>
|
|
)
|
|
}
|