Files
menassit/client/src/App.tsx
T
ghaddaditw c34decacd4 Introduce interactive tour to guide new users and improve onboarding
Adds onboarding tour using Joyride and i18n for guiding new users and wraps the app with TourManagerProvider.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: c5f0c281-8dd8-4846-b452-4a07bcd21062
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/9777c70b-fc38-4831-8d6b-78dfffe041b0/30336e9a-3f94-4a8a-8590-caabbe309010.jpg
2025-06-08 07:20:56 +00:00

70 lines
2.7 KiB
TypeScript

import { Switch, Route } from "wouter";
import { queryClient } from "./lib/queryClient";
import { QueryClientProvider } from "@tanstack/react-query";
import { Toaster } from "@/components/ui/toaster";
import { TooltipProvider } from "@/components/ui/tooltip";
import { FloatingVoiceControl } from "@/components/voice/FloatingVoiceControl";
import { AuthProvider } from "@/context/AuthContext";
import { ThemeProvider } from "@/context/ThemeContext";
import { VoiceProvider } from "@/context/VoiceProvider";
import { NotificationProvider } from "@/context/NotificationProvider";
import { TourManagerProvider } from "@/components/onboarding/TourManager";
import LandingPage from "@/pages/LandingPage";
import DashboardPage from "@/pages/DashboardPage";
import LoginPage from "@/pages/LoginPage";
import ProfessionalDirectory from "@/pages/ProfessionalDirectory";
import OnboardingPage from "@/pages/OnboardingPage";
import TasksPage from "@/pages/TasksPage";
import FinancesPage from "@/pages/FinancesPage";
import VoicePage from "@/pages/VoicePage";
import AIPage from "@/pages/AIPage";
import AnalyticsPage from "@/pages/AnalyticsPage";
import SystemMonitoringPage from "@/pages/SystemMonitoringPage";
import SettingsPage from "@/pages/SettingsPage";
import NotFound from "@/pages/not-found";
function Router() {
return (
<Switch>
<Route path="/" component={LandingPage} />
<Route path="/login" component={LoginPage} />
<Route path="/register" component={LoginPage} />
<Route path="/onboarding" component={OnboardingPage} />
<Route path="/dashboard" component={DashboardPage} />
<Route path="/tasks" component={TasksPage} />
<Route path="/finances" component={FinancesPage} />
<Route path="/voice" component={VoicePage} />
<Route path="/ai" component={AIPage} />
<Route path="/analytics" component={AnalyticsPage} />
<Route path="/monitoring" component={SystemMonitoringPage} />
<Route path="/settings" component={SettingsPage} />
<Route path="/professionals" component={ProfessionalDirectory} />
<Route component={NotFound} />
</Switch>
);
}
function App() {
return (
<QueryClientProvider client={queryClient}>
<ThemeProvider>
<AuthProvider>
<NotificationProvider>
<VoiceProvider>
<TourManagerProvider>
<TooltipProvider>
<Toaster />
<Router />
<FloatingVoiceControl />
</TooltipProvider>
</TourManagerProvider>
</VoiceProvider>
</NotificationProvider>
</AuthProvider>
</ThemeProvider>
</QueryClientProvider>
);
}
export default App;