From 6c480ce4dd8d8449d6de7bfe5b5f2ed04bdbb985 Mon Sep 17 00:00:00 2001 From: zhangzhenghao Date: Sun, 26 Apr 2026 10:55:22 +0800 Subject: [PATCH] feat: add logout button in navbar - Add /api/logout endpoint in app.py using Flask-Login logout_user() - Add logout icon button next to GitHub link in MainLayout.vue - Clear auth state cache on logout and redirect to login page --- app.py | 10 ++++++++++ frontend/src/layouts/MainLayout.vue | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/app.py b/app.py index 99a3f89..e895bfd 100644 --- a/app.py +++ b/app.py @@ -26,6 +26,7 @@ current_user, login_user, login_required, + logout_user, ) from flask_sqlalchemy import SQLAlchemy from github import Github @@ -285,6 +286,15 @@ def get_me(): ) +@app.route("/api/logout") +def logout(): + """Logout the current user.""" + logout_user() + return Response( + json.dumps({"is_authenticated": False}), + mimetype="application/json" + ) + def is_github_blob(url: str) -> bool: splits = url.split("/") return ( diff --git a/frontend/src/layouts/MainLayout.vue b/frontend/src/layouts/MainLayout.vue index 804418a..965cf8b 100644 --- a/frontend/src/layouts/MainLayout.vue +++ b/frontend/src/layouts/MainLayout.vue @@ -48,6 +48,7 @@ + @@ -104,6 +105,8 @@