import './App.css'
import { Toaster } from "@/components/ui/toaster"
import { QueryClientProvider } from '@tanstack/react-query'
import { queryClientInstance } from '@/lib/query-client'
import VisualEditAgent from '@/lib/VisualEditAgent'
import NavigationTracker from '@/lib/NavigationTracker'
import { pagesConfig } from './pages.config'
import { BrowserRouter as Router, Route, Routes, useLocation } from 'react-router-dom';
import { setupIframeMessaging } from './lib/iframe-messaging';
import PageNotFound from './lib/PageNotFound';
import { AuthProvider, useAuth } from '@/lib/AuthContext';
import ErrorBoundary from '@/lib/ErrorBoundary';
import { appParams } from '@/lib/app-params';
import UserNotRegisteredError from '@/components/UserNotRegisteredError';
import FeatureReport from './pages/FeatureReport';
import LandingPage from './pages/LandingPage';
import KrowX from './pages/KrowX';
import AboutUs from './pages/AboutUs';
import ThePlatform from './pages/ThePlatform';
import ForWorkers from './pages/ForWorkers';
import PredictiveIntelligence from './pages/PredictiveIntelligence';
import KrowEdgePage from './pages/KrowEdge';
import Recruiting from './pages/Recruiting';
import Communications from './pages/Communications';
import Announcements from './pages/Announcements';
import StaffProfileDemo from './pages/StaffProfileDemo';
import CapabilityMap from './pages/CapabilityMap';
import PlatformOnboarding from './pages/PlatformOnboarding';
import DailyPL from './pages/DailyPL';
import Sales from './pages/Sales';
import PayrollDetail from './pages/PayrollDetail';
import EmployeeTimecard from './pages/EmployeeTimecard';
import ClientLaborReport from './pages/ClientLaborReport';
import WorkforceNetwork from './pages/WorkforceNetwork';
import KrowAI from './pages/KrowAI';
import StaffingMarketplace from './pages/StaffingMarketplace';
import KrowConsole from './pages/KrowConsole';
import KrowCommand from './pages/KrowCommand';
import DemandSupply from './pages/DemandSupply';
import DocumentApproval from './pages/DocumentApproval';
import VendorReports from './pages/VendorReports';
const { Pages, Layout, mainPage } = pagesConfig;
const mainPageKey = mainPage ?? Object.keys(Pages)[0];
const MainPage = mainPageKey ? Pages[mainPageKey] : <>>;
setupIframeMessaging();
const LayoutWrapper = ({ children, currentPageName }) => Layout ?
{authError.message || 'The Base44 backend could not be reached.'}
App ID: {String(appParams.appId)}
Backend: {String(appParams.serverUrl)}