feat(web): persistent connect-GitHub banner under the navbar#124
Merged
Conversation
Hoists the "Connect your GitHub account" nag from the /account page
to a top-level ConnectGitHubBanner rendered by AppShell directly
under the navbar, so every page shows the prompt to legacy users
until they link GitHub or dismiss for the session.
Behavior unchanged from the per-page version:
- Renders iff signed-in + hasGitHubLink === false + lastLoginMethod
∈ {legacy_password, password_reset}
- Dismiss button hides it for the rest of the session
- CTA submits a form to POST /api/auth/link-github
Identity-card "Connect GitHub" form on /account stays — it's an
in-context action for users who land on the settings page wanting
to wire up the link, not a nag.
Test split: new ConnectGitHubBanner.test.tsx covers the visibility
matrix + dismiss; Account.test.tsx is trimmed to the identity-card
branches.
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.
Summary
Promotes the "Connect your GitHub account" nag from a per-page section on `/account` to a top-level `ConnectGitHubBanner` rendered by `AppShell` directly under the navbar — so every page shows it to legacy users until they link or dismiss.
Visibility rule unchanged from phase D:
The Identity-card "Connect GitHub" form on `/account` stays — that's an in-context action for users who land on the settings page wanting to wire up the link, not a nag.
Tests split: new `ConnectGitHubBanner.test.tsx` covers the visibility matrix (legacy / reset / github-linked / anonymous) and dismiss. `Account.test.tsx` trimmed to the identity-card branches.
Test plan
🤖 Generated with Claude Code