diff --git a/backend/app.py b/backend/app.py
index 97e3cce..9f3de91 100644
--- a/backend/app.py
+++ b/backend/app.py
@@ -102,6 +102,10 @@ def login():
print("[Fehler bei /api/login]:", e)
return jsonify({"message": "Serverfehler"}), 500
+@app.route('/api/logout', methods=['POST'])
+def logout():
+ # Aktuell macht das nichts, aber der Client bekommt Bestätigung
+ return jsonify({"message": "Logout erfolgreich"})
if __name__ == '__main__':
diff --git a/frontend/src/components/LogoutButton.jsx b/frontend/src/components/LogoutButton.jsx
index d343282..edbb6e6 100644
--- a/frontend/src/components/LogoutButton.jsx
+++ b/frontend/src/components/LogoutButton.jsx
@@ -1,16 +1,20 @@
import { useNavigate } from 'react-router-dom';
+import axios from '../services/api';
function LogoutButton() {
const navigate = useNavigate();
- const logout = () => {
- localStorage.clear();
- navigate('/login');
+ const logout = async () => {
+ try {
+ await axios.post('/logout'); // sendet POST an /api/logout
+ } catch (err) {
+ console.warn('Logout-Request fehlgeschlagen, ignoriere...');
+ }
+ localStorage.clear(); // entfernt token + role
+ window.location.href = '/login'; // harter Redirect
};
- return (
-
- );
+ return ;
}
export default LogoutButton;
diff --git a/frontend/src/services/api.js b/frontend/src/services/api.js
index f33ee14..b0d0684 100644
--- a/frontend/src/services/api.js
+++ b/frontend/src/services/api.js
@@ -1,7 +1,7 @@
import axios from 'axios';
const instance = axios.create({
- baseURL: import.meta.env.VITE_API_URL || 'http://127.0.0.1:5000/api',
+ baseURL: import.meta.env.VITE_API_URL,
});
instance.interceptors.request.use(config => {