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 => {