Initial commit: charles.secourit.fr - App de suivi maintenance 360 Partners
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import { useState } from 'react'
|
||||
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
|
||||
import Login from './components/Login'
|
||||
import Layout from './components/Layout'
|
||||
import Dashboard from './components/Dashboard'
|
||||
import DomainForm from './components/DomainForm'
|
||||
|
||||
function App() {
|
||||
const [token, setToken] = useState(localStorage.getItem('charles_token'))
|
||||
const [user, setUser] = useState(() => { try { return JSON.parse(localStorage.getItem('charles_user')) } catch { return null } })
|
||||
|
||||
const handleLogin = (t, u) => {
|
||||
localStorage.setItem('charles_token', t)
|
||||
localStorage.setItem('charles_user', JSON.stringify(u))
|
||||
setToken(t)
|
||||
setUser(u)
|
||||
}
|
||||
const handleLogout = () => {
|
||||
localStorage.removeItem('charles_token')
|
||||
localStorage.removeItem('charles_user')
|
||||
setToken(null)
|
||||
setUser(null)
|
||||
}
|
||||
|
||||
if (!token) return <Login onLogin={handleLogin} />
|
||||
|
||||
return (
|
||||
<BrowserRouter>
|
||||
<Layout user={user} onLogout={handleLogout}>
|
||||
<Routes>
|
||||
<Route path='/' element={<Dashboard token={token} user={user} />} />
|
||||
<Route path='/domain/:id' element={<DomainForm token={token} user={user} />} />
|
||||
<Route path='*' element={<Navigate to='/' />} />
|
||||
</Routes>
|
||||
</Layout>
|
||||
</BrowserRouter>
|
||||
)
|
||||
}
|
||||
export default App
|
||||
Reference in New Issue
Block a user