Configurable home banner#1
Open
veej wants to merge 3 commits into
Open
Conversation
d5e2c4f to
ecbc0b1
Compare
Adds a Settings view, accessible only to admins via a "Settings" link in the top navigation, that lets them edit the home banner's message and accent. Saving lands the admin back on the home page with the updated banner. Regular users see no entry point and are kept out of the settings view if they reach it through some other path. Acceptance tests cover the four scenarios from `tests/acceptance/features/configurable-banner.feature` and map to R.1 (message), R.2 (accent), and R.3 (regular-user gate) tracked in `tests/acceptance/test-plan.yaml`. Implementation notes: - `setBanner()` validates the message is non-empty and the accent is in the palette before persisting. - The Settings form is pre-filled with the current banner, refuses empty submissions (Save stays disabled), and caps the message at 140 characters. - App.jsx grew a `view` state and a `bannerVersion` counter so the HomeView re-renders with fresh banner data after a save. See `docs/specs/configurable-banner.md` for the agreed scope and the decisions made during the AC review. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ecbc0b1 to
15e909e
Compare
Drop the `if: failure()` guard on the artifact upload so the report is available also on green runs — useful for inspecting timings, demoing the run, and linking the report from external docs (e.g. slides). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The runner-side prettier flagged .claude/testing_rules.md as mis-formatted while the same file passed locally with the same prettier 3.8.3 and lockfile. Rather than chase the environment- specific divergence, broaden the ignore list to cover all of .agents/, .claude/, and .cursor/ — none of these contain product code that should be subject to project formatting rules. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The home banner is set in code, so any change to the message or its accent requires a deploy. The team wanted to update it from inside the app — no PR cycle for an announcement — but only admins should be able to.
Solution
A new Settings view, available only to admins via a "Settings" link in the top navigation, exposes a simple form: a message field and a four-option accent picker (sky / amber / emerald / rose). Saving persists to
localStorageand lands the admin back on the home page with the updated banner. Regular users do not see the link in the navigation, andApp.jsxwon't render the Settings view if the active session is not an admin.The form refuses empty submissions (Save stays disabled) and caps the message at 140 characters — both decisions are documented in
docs/specs/configurable-banner.md.Test plan
admin@foyer.local/admin. The home page shows the default banner ("Welcome to Foyer", sky accent).user@foyer.local/user. The home page shows the same updated banner. The Settings link is not in the navigation.Evidence
demo.mp4