diff --git a/apps/web/cypress/e2e/auth.feature b/apps/web/cypress/e2e/auth.feature index dc3763a..d92f617 100644 --- a/apps/web/cypress/e2e/auth.feature +++ b/apps/web/cypress/e2e/auth.feature @@ -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 diff --git a/apps/web/src/layouts/AppLayout.tsx b/apps/web/src/layouts/AppLayout.tsx index 91c70c7..861ff59 100644 --- a/apps/web/src/layouts/AppLayout.tsx +++ b/apps/web/src/layouts/AppLayout.tsx @@ -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