feat: add frontend entry point, theme, and router
This commit is contained in:
20
frontend/src/App.tsx
Normal file
20
frontend/src/App.tsx
Normal file
@@ -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 (
|
||||||
|
<BrowserRouter>
|
||||||
|
<Routes>
|
||||||
|
<Route path="/login" element={<Login />} />
|
||||||
|
<Route element={<ProtectedRoute />}>
|
||||||
|
<Route path="/configs" element={<ConfigList />} />
|
||||||
|
<Route path="/configs/:id" element={<ConfigDetail />} />
|
||||||
|
</Route>
|
||||||
|
<Route path="*" element={<Navigate to="/configs" replace />} />
|
||||||
|
</Routes>
|
||||||
|
</BrowserRouter>
|
||||||
|
)
|
||||||
|
}
|
||||||
15
frontend/src/main.tsx
Normal file
15
frontend/src/main.tsx
Normal file
@@ -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(
|
||||||
|
<React.StrictMode>
|
||||||
|
<ThemeProvider theme={theme}>
|
||||||
|
<CssBaseline />
|
||||||
|
<App />
|
||||||
|
</ThemeProvider>
|
||||||
|
</React.StrictMode>
|
||||||
|
)
|
||||||
17
frontend/src/theme.ts
Normal file
17
frontend/src/theme.ts
Normal file
@@ -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' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user