import { BrowserRouter, Routes, Route, Navigate } from "react-router-dom"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { Toaster } from "react-hot-toast"; import { ReactNode } from "react"; import { ApiKeyProvider, useApiKey } from "./context/ApiKeyContext"; import AppLayout from "./layouts/AppLayout"; import Gate from "./pages/Gate"; // All Real Pages import Dashboard from "./pages/Dashboard"; import Campaigns from "./pages/Campaigns"; import CampaignDetail from "./pages/CampaignDetail"; import Leads from "./pages/Leads"; import EmailAccounts from "./pages/EmailAccounts"; import Warmup from "./pages/Warmup"; import Inbox from "./pages/Inbox"; import Webhooks from "./pages/Webhooks"; import Analytics from "./pages/Analytics"; import Clients from "./pages/Clients"; import Settings from "./pages/Settings"; const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 30_000, retry: 2, refetchOnWindowFocus: true, }, }, }); function RequireKey({ children }: { children: ReactNode }) { const { activeKey } = useApiKey(); if (!activeKey) { return ; } return <>{children}; } export default function App() { return ( } /> } > } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> ); }