fix(auth): la déconnexion retombe sur / plutôt que /login #79

Merged
kyuno merged 1 commit from fix/logout-redirect-landing into main 2026-09-07 00:25:05 +02:00
2 changed files with 9 additions and 4 deletions
Showing only changes of commit 21cd8f014d - Show all commits

View file

@ -51,7 +51,7 @@ Feature: Signup and login
Then the login request should have been made
And I should see "Email ou mot de passe incorrect"
Scenario: Logging out returns to the login page
Scenario: Logging out returns to the landing page
Given I am signed in as "Alice" "Martin"
And my household id is 1
And the planning request returns nothing
@ -60,4 +60,4 @@ Feature: Signup and login
And I open the account menu
And I click the button "Se déconnecter"
Then the logout request should have been made
And the URL should include "/login"
And the URL should be the home page

View file

@ -201,12 +201,17 @@ function AccountMenu() {
const { t } = useTranslation();
const [isOpen, setIsOpen] = useState(false);
/** Ends the session and returns to the login page. */
/**
* Ends the session and returns to `/` — `RequireAuth` shows the public
* {@link LandingPage} there for a logged-out visitor (issue #41), so this
* naturally lands on the marketing page rather than straight back at the
* login form.
*/
async function handleLogout() {
setIsOpen(false);
try {
await logout();
void navigate("/login");
void navigate("/");
} catch (err) {
// Rethrown as-is — `AuthContext`'s `logout` already documents itself
// as throwing `ApiError` on failure; this handler just isn't allowed