Rename Account → Settings in the sidebar; pin to bottom above the user card #271

Closed
opened 2026-06-24 12:30:25 +00:00 by james · 0 comments
Owner

Context

Today the sidebar lists "Account" as the last entry inside the regular nav list, after a divider, scrolling with the rest of the nav rows. Two small polish changes:

  1. Rename "Account" to "Settings." The screen at /account is primarily settings + PATs + sign-in methods + (in dev) preferences — "Settings" is the conventional name across products and reads cleaner.
  2. Pin Settings to the bottom of the sidebar, just above the user-card profile information. Today it lives inside the scrolling nav list; after this, it sits in the footer area between the scrollable nav and the user card so it's always reachable without scrolling.

Scope

  • Remove the existing "Account" entry from NAV_ITEMS in apps/client/lib/nav/items.ts. Drop the divider that preceded it too.
  • Render a single "Settings" row inside apps/client/lib/nav/Sidebar.tsx, outside the <ScrollView> (the nav list), positioned in the footer area between the nav list and the user card. It styles identically to a nav row (same icon, same active treatment, same Pressable shape), but it's not part of the scrolled list — it's pinned.
  • Keep the Settings icon as Settings from lucide-react-native. Same as today.
  • The route can stay as /account (no need to break URLs / bookmarks). Just the nav-row LABEL changes.
  • New i18n key nav.settings in packages/i18n/messages/en.json with value "Settings". Drop the unused nav.account if nothing else still reads it (grep first — account.title and similar are different keys).
  • Active state still highlights when /account is the current route.
  • Collapsed sidebar: Settings row renders icon-only, centered. Mirror the existing collapsed nav-row treatment.
  • Mobile drawer: same layout — Settings sits between nav and user card.

Acceptance criteria

  • Sidebar renders Settings as a separate row above the user card, OUTSIDE the scrolling nav list. Scrolling the nav list does NOT scroll Settings.
  • Tapping Settings navigates to /account (URL unchanged).
  • Settings row gets the active highlight when on the /account route.
  • Collapsed mode: Settings is the icon-only row above the user card. Centered.
  • No regressions on the Chat / Profile / Skills / Experience / Projects / Network rows or the dividers between them.

Out of scope

  • Renaming the /account route to /settings (breaking change).
  • Splitting the Account screen content into multiple sub-routes.
  • Any visual treatment beyond what the design already covers.

Composes with

  • #210, #267 — nav shell + design-package sidebar redesign.

Part of

Standalone polish — no parent epic.

## Context Today the sidebar lists "Account" as the last entry inside the regular nav list, after a divider, scrolling with the rest of the nav rows. Two small polish changes: 1. **Rename "Account" to "Settings."** The screen at `/account` is primarily settings + PATs + sign-in methods + (in dev) preferences — "Settings" is the conventional name across products and reads cleaner. 2. **Pin Settings to the bottom of the sidebar, just above the user-card profile information.** Today it lives inside the scrolling nav list; after this, it sits in the footer area between the scrollable nav and the user card so it's always reachable without scrolling. ## Scope - Remove the existing "Account" entry from `NAV_ITEMS` in `apps/client/lib/nav/items.ts`. Drop the divider that preceded it too. - Render a single "Settings" row inside `apps/client/lib/nav/Sidebar.tsx`, **outside** the `<ScrollView>` (the nav list), positioned in the footer area between the nav list and the user card. It styles identically to a nav row (same icon, same active treatment, same Pressable shape), but it's not part of the scrolled list — it's pinned. - Keep the Settings icon as `Settings` from `lucide-react-native`. Same as today. - The route can stay as `/account` (no need to break URLs / bookmarks). Just the nav-row LABEL changes. - New i18n key `nav.settings` in `packages/i18n/messages/en.json` with value `"Settings"`. Drop the unused `nav.account` if nothing else still reads it (grep first — `account.title` and similar are different keys). - Active state still highlights when `/account` is the current route. - Collapsed sidebar: Settings row renders icon-only, centered. Mirror the existing collapsed nav-row treatment. - Mobile drawer: same layout — Settings sits between nav and user card. ## Acceptance criteria - [ ] Sidebar renders Settings as a separate row above the user card, OUTSIDE the scrolling nav list. Scrolling the nav list does NOT scroll Settings. - [ ] Tapping Settings navigates to `/account` (URL unchanged). - [ ] Settings row gets the active highlight when on the `/account` route. - [ ] Collapsed mode: Settings is the icon-only row above the user card. Centered. - [ ] No regressions on the Chat / Profile / Skills / Experience / Projects / Network rows or the dividers between them. ## Out of scope - Renaming the `/account` route to `/settings` (breaking change). - Splitting the Account screen content into multiple sub-routes. - Any visual treatment beyond what the design already covers. ## Composes with - [#210](https://forge.wynning.tech/james/carol/issues/210), [#267](https://forge.wynning.tech/james/carol/pulls/267) — nav shell + design-package sidebar redesign. ## Part of Standalone polish — no parent epic.
james closed this issue 2026-06-24 12:44:20 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
james/carol#271
No description provided.