File size: 2,266 Bytes
5ab3108
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { BrowserRouter, Routes, Route } from "react-router-dom";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { Toaster } from "react-hot-toast";
import { ApiKeyProvider } from "./context/ApiKeyContext";
import AppLayout from "./layouts/AppLayout";

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

export default function App() {
  return (
    <QueryClientProvider client={queryClient}>

      <ApiKeyProvider>

        <BrowserRouter>

          <Routes>

            <Route path="/" element={<AppLayout />}>

              <Route index element={<Dashboard />} />

              <Route path="campaigns" element={<Campaigns />} />

              <Route path="campaigns/:id" element={<CampaignDetail />} />

              <Route path="leads" element={<Leads />} />

              <Route path="email-accounts" element={<EmailAccounts />} />

              <Route path="warmup" element={<Warmup />} />

              <Route path="inbox" element={<Inbox />} />

              <Route path="webhooks" element={<Webhooks />} />

              <Route path="analytics" element={<Analytics />} />

              <Route path="clients" element={<Clients />} />

              <Route path="settings" element={<Settings />} />

            </Route>

          </Routes>

        </BrowserRouter>

        <Toaster 

          position="bottom-right"

          toastOptions={{

            style: {

              background: '#18181b',

              color: '#fff',

              border: '1px solid #27272a'

            }

          }} 

        />

      </ApiKeyProvider>

    </QueryClientProvider>
  );
}