Skip to content

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

Open
romainhild wants to merge 1 commit into
cooklang:mainfrom
romainhild:feature/disable-feature
Open

feat: make shopping list and pantry nav links configurable via settings#357
romainhild wants to merge 1 commit into
cooklang:mainfrom
romainhild:feature/disable-feature

Conversation

@romainhild

Copy link
Copy Markdown

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.
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.

1 participant