import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom';
import { ContentProvider } from './context/ContentContext';
import { Layout } from './components/layout/Layout';
import { AboutPage } from './pages/AboutPage';
import { AboutNdisPage } from './pages/AboutNdisPage';
import { AdminPage } from './pages/AdminPage';
import { CareerPage } from './pages/CareerPage';
import { ContactPage } from './pages/ContactPage';
import { EventsPage } from './pages/EventsPage';
import { FaqPage } from './pages/FaqPage';
import { HomePage } from './pages/HomePage';
import {
  DisclaimerPage,
  NotFoundPage,
  PrivacyPage,
  TermsPage,
} from './pages/LegalPages';
import { NdisHubPage } from './pages/NdisHubPage';
import { ServiceDetailPage } from './pages/ServiceDetailPage';
import { ServicesPage } from './pages/ServicesPage';
import { SolutionsPage } from './pages/SolutionsPage';
import { StoriesPage } from './pages/StoriesPage';

export default function App() {
  return (
    <ContentProvider>
      <BrowserRouter>
        <Routes>
          <Route element={<Layout />}>
            <Route index element={<HomePage />} />
            <Route path="services" element={<ServicesPage />} />
            <Route path="services/:slug" element={<ServiceDetailPage />} />
            <Route path="solutions" element={<SolutionsPage />} />
            <Route path="ndis-hub" element={<NdisHubPage />} />
            <Route path="ndis-hub/about-ndis" element={<AboutNdisPage />} />
            <Route path="ndis-hub/faq" element={<FaqPage />} />
            <Route path="ndis-hub/stories" element={<StoriesPage />} />
            <Route path="about" element={<AboutPage />} />
            <Route path="events" element={<EventsPage />} />
            <Route path="career" element={<CareerPage />} />
            <Route path="contact" element={<ContactPage />} />
            <Route path="admin" element={<AdminPage />} />
            <Route path="disclaimer" element={<DisclaimerPage />} />
            <Route path="privacy" element={<PrivacyPage />} />
            <Route path="terms" element={<TermsPage />} />
            <Route path="home" element={<Navigate to="/" replace />} />
            <Route path="*" element={<NotFoundPage />} />
          </Route>
        </Routes>
      </BrowserRouter>
    </ContentProvider>
  );
}
