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 (
} />
}
>
} />
} />
} />
} />
} />
} />
} />
} />
} />
} />
} />
);
}