import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import { Toaster } from 'react-hot-toast'; import { SignedIn, SignedOut, SignIn, SignUp } from '@clerk/clerk-react'; import React, { Suspense, lazy } from 'react'; import Layout from './components/dashboard/Layout'; import { ApiInterceptor } from './components/ApiInterceptor'; import { ErrorBoundary } from './components/common/ErrorBoundary'; import { CookieConsentBanner } from './components/common/CookieConsentBanner'; const Pricing = lazy(() => import('./pages/Pricing')); const Projects = lazy(() => import('./pages/Projects')); const ProjectWorkspace = lazy(() => import('./pages/ProjectWorkspace')); const LandingPage = lazy(() => import('./pages/LandingPage')); const About = lazy(() => import('./pages/About')); const Help = lazy(() => import('./pages/Help')); const Settings = lazy(() => import('./pages/Settings')); const Regulamin = lazy(() => import('./pages/Regulamin')); const PolitykaPrywatnosci = lazy(() => import('./pages/PolitykaPrywatnosci')); const Nabory = lazy(() => import('./pages/Nabory')); const AdminDashboard = lazy(() => import('./pages/AdminDashboard')); const BetaGuide = lazy(() => import('./pages/BetaGuide')); const ProtectedLayout = () => { return ( <> ); }; function App() { return ( Ładowanie aplikacji... }> {/* Ścieżki publiczne */} } /> } /> } /> {/* Strony prawne — publiczne (bez logowania) */} } /> } /> {/* Cennik — publiczny (widoczny przed logowaniem) */} } /> } /> {/* Ścieżki chronione (wymagające zalogowania) */} }> } /> {/* pricing jest też w publicznych ścieżkach powyżej */} } /> } /> } /> } /> } /> } /> } /> } /> {/* Zabezpieczenie przed błędem nawigacji */} } /> ); } export default App;