diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx new file mode 100644 index 0000000..e21ab9e --- /dev/null +++ b/frontend/src/App.tsx @@ -0,0 +1,20 @@ +import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom' +import Login from './routes/Login' +import ConfigList from './routes/ConfigList' +import ConfigDetail from './routes/ConfigDetail' +import ProtectedRoute from './components/ProtectedRoute' + +export default function App() { + return ( + + + } /> + }> + } /> + } /> + + } /> + + + ) +} diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx new file mode 100644 index 0000000..10cd7e9 --- /dev/null +++ b/frontend/src/main.tsx @@ -0,0 +1,15 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import { ThemeProvider } from '@mui/material/styles' +import CssBaseline from '@mui/material/CssBaseline' +import App from './App' +import { theme } from './theme' + +ReactDOM.createRoot(document.getElementById('root')!).render( + + + + + + +) diff --git a/frontend/src/theme.ts b/frontend/src/theme.ts new file mode 100644 index 0000000..69e7358 --- /dev/null +++ b/frontend/src/theme.ts @@ -0,0 +1,17 @@ +import { createTheme } from '@mui/material/styles' + +export const theme = createTheme({ + palette: { + mode: 'light', + primary: { main: '#3b82f6' }, + background: { default: '#f5f7fa', paper: '#ffffff' }, + }, + components: { + MuiAppBar: { styleOverrides: { root: { backgroundColor: '#1a1f2e' } } }, + MuiDrawer: { + styleOverrides: { + paper: { backgroundColor: '#1a1f2e', color: '#e2e8f0', borderRight: 'none' }, + }, + }, + }, +})