Implement initial application structure and UI.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9111ef36-26c8-4085-84ca-a35dc1fec1b5
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7083d608-d6d3-4a6a-9a27-6286c5109627/54918520-d42c-44cd-b4f4-9e5a42eb5be1.jpg
This commit is contained in:
alphaeusmote
2025-04-09 21:34:26 +00:00
parent e1340a29cb
commit cba930e4d3
99 changed files with 21903 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
import { Switch, Route } from "wouter";
import { queryClient } from "./lib/queryClient";
import { QueryClientProvider } from "@tanstack/react-query";
import { Toaster } from "@/components/ui/toaster";
import NotFound from "@/pages/not-found";
import AuthPage from "@/pages/auth-page";
import DashboardPage from "@/pages/dashboard";
import DomainsPage from "@/pages/domains";
import DnsRecordsPage from "@/pages/dns-records";
import MetricsPage from "@/pages/metrics";
import HistoryPage from "@/pages/history";
import ApiTokensPage from "@/pages/api-tokens";
import UsersRolesPage from "@/pages/users-roles";
import ProvidersPage from "@/pages/providers";
import SettingsPage from "@/pages/settings";
import { AuthProvider } from "@/hooks/use-auth";
import { ProtectedRoute } from "@/lib/protected-route";
import { ThemeProvider } from "@/hooks/use-theme";
import { OrganizationProvider } from "@/context/organization-context";
function Router() {
return (
<Switch>
<Route path="/auth" component={AuthPage} />
<ProtectedRoute path="/" component={DashboardPage} />
<ProtectedRoute path="/domains" component={DomainsPage} />
<ProtectedRoute path="/dns-records" component={DnsRecordsPage} />
<ProtectedRoute path="/metrics" component={MetricsPage} />
<ProtectedRoute path="/history" component={HistoryPage} />
<ProtectedRoute path="/api-tokens" component={ApiTokensPage} />
<ProtectedRoute path="/users-roles" component={UsersRolesPage} />
<ProtectedRoute path="/providers" component={ProvidersPage} />
<ProtectedRoute path="/settings" component={SettingsPage} />
<Route component={NotFound} />
</Switch>
);
}
function App() {
return (
<ThemeProvider>
<QueryClientProvider client={queryClient}>
<AuthProvider>
<OrganizationProvider>
<Router />
<Toaster />
</OrganizationProvider>
</AuthProvider>
</QueryClientProvider>
</ThemeProvider>
);
}
export default App;