Replace inline version injection with the reusable vite-version-plugin package for consistent version banners across all dashboards. Changes: - Remove custom getMonorepoVersion() and buildInfoPlugin() - Use versionPlugin from @lilith/vite-version-plugin - Use logVersionBanner for styled console output - Add tsconfig paths for TypeScript resolution 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
46 lines
1.5 KiB
TypeScript
46 lines
1.5 KiB
TypeScript
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
|
|
import { ThemeProvider } from '@lilith/ui-theme';
|
|
import { GlobalStyles } from './GlobalStyles';
|
|
import { AuthProvider } from './AuthContext';
|
|
import { ProtectedRoute } from './ProtectedRoute';
|
|
import { PublicStatusPage } from './PublicStatusPage';
|
|
import { AdminDashboard } from './AdminDashboard';
|
|
import { LoginPage } from './LoginPage';
|
|
import { HostsPage } from './HostsPage';
|
|
import { logVersionBanner } from '@lilith/vite-version-plugin/console';
|
|
|
|
// Log version banner to console on app load
|
|
logVersionBanner({ primaryColor: '#ff00ff', secondaryColor: '#00ffff' });
|
|
|
|
export function App() {
|
|
return (
|
|
<ThemeProvider defaultTheme="cyberpunk" storageKey="status-page-theme">
|
|
<GlobalStyles />
|
|
<BrowserRouter>
|
|
<AuthProvider>
|
|
<Routes>
|
|
<Route path="/" element={<PublicStatusPage />} />
|
|
<Route path="/login" element={<LoginPage />} />
|
|
<Route
|
|
path="/admin"
|
|
element={
|
|
<ProtectedRoute>
|
|
<AdminDashboard />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/admin/hosts"
|
|
element={
|
|
<ProtectedRoute>
|
|
<HostsPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route path="*" element={<Navigate to="/" replace />} />
|
|
</Routes>
|
|
</AuthProvider>
|
|
</BrowserRouter>
|
|
</ThemeProvider>
|
|
);
|
|
}
|