LogoutButton

This commit is contained in:
Nirodan
2025-06-14 13:39:46 +02:00
parent b08083b63a
commit 6530638141
3 changed files with 49 additions and 3 deletions
+5 -3
View File
@@ -3,6 +3,7 @@ import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom';
import LoginForm from './components/LoginForm'; import LoginForm from './components/LoginForm';
//import RegisterForm from './components/RegisterForm'; //import RegisterForm from './components/RegisterForm';
//import ToolOverview from './components/ToolOverview'; //import ToolOverview from './components/ToolOverview';
import Home from './components/Home';
function App() { function App() {
const isLoggedIn = localStorage.getItem('token') !== null; const isLoggedIn = localStorage.getItem('token') !== null;
@@ -11,11 +12,12 @@ function App() {
return ( return (
<BrowserRouter> <BrowserRouter>
<Routes> <Routes>
<Route path="/" element={isLoggedIn ? <ToolOverview /> : <Navigate to="/login" />} /> {/*<Route path="/" element={isLoggedIn ? <ToolOverview /> : <Navigate to="/login" />} />*/}
<Route path="/login" element={<LoginForm />} /> <Route path="/login" element={<LoginForm />} />
<Route path="/register" element={<RegisterForm />} /> {/*<Route path="/register" element={<RegisterForm />} />*/}
{/*<Route path="/tools/md5" element={isLoggedIn ? <Md5Tool /> : <Navigate to="/login" />} />*/} <Route path="/tools/md5" element={isLoggedIn ? <Md5Tool /> : <Navigate to="/login" />} />
{/*<Route path="/admin" element={isLoggedIn && role === 'admin' ? <AdminDashboard /> : <Navigate to="/" />} />*/} {/*<Route path="/admin" element={isLoggedIn && role === 'admin' ? <AdminDashboard /> : <Navigate to="/" />} />*/}
<Route path="/" element={<Home />} />
</Routes> </Routes>
</BrowserRouter> </BrowserRouter>
); );
+28
View File
@@ -0,0 +1,28 @@
import { useNavigate } from 'react-router-dom';
function Home() {
const navigate = useNavigate();
const token = localStorage.getItem('token');
const role = localStorage.getItem('role');
return (
<div>
<h1>Willkommen bei den Tools</h1>
{!token ? (
<>
<p>Bitte logge dich ein oder registriere dich.</p>
<button onClick={() => navigate('/login')}>Login</button>
<button onClick={() => navigate('/register')}>Registrieren</button>
</>
) : (
<>
<p>Willkommen zurück!</p>
<button onClick={() => navigate('/tools/md5')}>Zum MD5 Tool</button>
{role === 'admin' && <button onClick={() => navigate('/admin')}>Admin-Bereich</button>}
</>
)}
</div>
);
}
export default Home;
@@ -0,0 +1,16 @@
import { useNavigate } from 'react-router-dom';
function LogoutButton() {
const navigate = useNavigate();
const logout = () => {
localStorage.clear();
navigate('/login');
};
return (
<button onClick={logout}>Logout</button>
);
}
export default LogoutButton;