feat: merge sign-out into the account menu with a confirm dialog - #38
Merged
Conversation
The top bar showed the signed-in login twice: once in the account switcher and again on the sign-out button at the far right. The account switcher now sits at the right end and owns the whole account surface: switching, adding and removing accounts, and signing out. When the auth mode cannot sign out from the UI the menu shows the external-auth note instead. Signing out and removing an account now ask for confirmation through a new ConfirmDialog component built on the shared modal chrome (themed for dark and light, Escape/backdrop to cancel, focus on Cancel), replacing window.confirm.
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
The top bar showed the signed-in login twice: in the account switcher and on the sign-out button at the far right. This PR unifies them into one control at the right end of the bar.
src/components/AccountSwitcher.tsx) moves to the last position intopbar-actionsand now contains: account list with switch/remove, "Add account", and "Sign out". When the auth mode cannot sign out from the UI (gh-cli/token), the menu shows the "Authenticated externally" note instead.src/components/common/ConfirmDialog.tsx): themed replacement forwindow.confirmon the shared modal chrome. Compact width, danger variant for destructive actions, Escape and backdrop cancel, focus lands on Cancel. Used for sign-out and for removing an account.common.cancel,common.remove,accounts.kind,accounts.removeTitle,auth.signOutTitle,auth.signOutMessage..confirm-modal,.confirm-foot,.btn.danger,.modal-icon.danger, account menu footer/sign-out styles. The dead.auth-btn .labelrule becomes.account-switcher-btn .label.Verification
npm run typecheck,npm test(24 files, 123 tests),npm run buildall pass.🤖 Generated with Claude Code