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