Skip to content

feat: make shopping list and pantry nav links configurable via settings#357

Merged
dubadub merged 2 commits into
cooklang:mainfrom
romainhild:feature/disable-feature
Jun 12, 2026
Merged

feat: make shopping list and pantry nav links configurable via settings#357
dubadub merged 2 commits into
cooklang:mainfrom
romainhild:feature/disable-feature

Conversation

@romainhild

Copy link
Copy Markdown
Contributor

Goal

Let users choose which features appear in the nav bar via the Preferences page. Shopping List and Pantry are shown by default (opt-out). Recipes is always the home page and cannot be hidden. If only Recipes is enabled, no nav links are shown at all (the bar still shows search, preferences, and theme toggle).
This implements #327

image image

Approach: Cookie-based, server-side rendering

Feature flags are stored as cookies, read in middleware, and injected as an Axum extension — exactly mirroring how the lang cookie and LanguageIdentifier extension work today. Askama templates render conditionally; no JS is needed for the nav itself.
Specs and implementation plans have been added in docs/

Disclaimer: The implementation has been done using Claude Code. I made the designs decisions and have reviewed the code.

Shopping List and Pantry nav links were removed from the nav bar and
replaced with per-user toggles in Preferences. Both features are shown
by default; users opt out to hide them. Settings persist via cookies
refreshed on every request. Includes translations for all 7 supported
languages and E2E test coverage.
@dubadub

dubadub commented Jun 12, 2026

Copy link
Copy Markdown
Member

Looks good, again, could you please check formatting and clippy?

@dubadub dubadub merged commit e6bd4ca into cooklang:main Jun 12, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants