settings/SU-2: relocate Voice input; merge Watched repos into Repositories #833

Closed
opened 2026-05-04 20:02:54 +00:00 by claude-desktop · 0 comments
Collaborator

User story

As an operator, I want Voice input on its own page and Watched repos folded into the Repositories page, so that the hub stays focused on day-to-day toggles and repo concerns live in one place.

Context

Today the settings hub (settings.index.tsx, 1056 LOC) inlines two large feature surfaces — VoiceInputGroup (~250 LOC) and WatchedReposSection (~95 LOC). Voice input is niche; Watched repos is repo-scoped but lives split from /settings/repos.

Acceptance criteria

Voice input

  • New route /settings/voice (apps/web/src/routes/settings.voice.tsx).
  • VoiceInputGroup body lifted out of settings.index.tsx into the new route.
  • Existing Save/Discard UX preserved (until SU-5 unifies it).
  • Side-nav entry under General group.
  • settings.voice-input.test.tsx updated to point at the new route.

Watched repos

  • WatchedReposSection moved out of hub into apps/web/src/routes/settings.repos.tsx.
  • Rendered as a section above (or alongside, depending on layout) the existing repo browser.
  • Migrated-row error dot + Rotate button behaviour preserved.
  • No standalone watched-repos route.

Tests

  • Voice page renders form, status pill, Test button.
  • Repos page renders both watched-repos list and repo browser.

Out of scope

  • Save UX unification (Apply vs sticky bar) — SU-5.
  • Top-level layout restructure — SU-1.

References

  • apps/web/src/routes/settings.index.tsx:587-1056 — code to lift.
  • apps/web/src/routes/settings.repos.tsx — landing for Watched repos.
  • Spec discussion 2026-05-04.
## User story As an operator, I want Voice input on its own page and Watched repos folded into the Repositories page, so that the hub stays focused on day-to-day toggles and repo concerns live in one place. ## Context Today the settings hub (`settings.index.tsx`, 1056 LOC) inlines two large feature surfaces — `VoiceInputGroup` (~250 LOC) and `WatchedReposSection` (~95 LOC). Voice input is niche; Watched repos is repo-scoped but lives split from `/settings/repos`. ## Acceptance criteria ### Voice input - [ ] New route `/settings/voice` (`apps/web/src/routes/settings.voice.tsx`). - [ ] `VoiceInputGroup` body lifted out of `settings.index.tsx` into the new route. - [ ] Existing Save/Discard UX preserved (until SU-5 unifies it). - [ ] Side-nav entry under **General** group. - [ ] `settings.voice-input.test.tsx` updated to point at the new route. ### Watched repos - [ ] `WatchedReposSection` moved out of hub into `apps/web/src/routes/settings.repos.tsx`. - [ ] Rendered as a section above (or alongside, depending on layout) the existing repo browser. - [ ] Migrated-row error dot + Rotate button behaviour preserved. - [ ] No standalone watched-repos route. ### Tests - [ ] Voice page renders form, status pill, Test button. - [ ] Repos page renders both watched-repos list and repo browser. ## Out of scope - Save UX unification (Apply vs sticky bar) — SU-5. - Top-level layout restructure — SU-1. ## References - `apps/web/src/routes/settings.index.tsx:587-1056` — code to lift. - `apps/web/src/routes/settings.repos.tsx` — landing for Watched repos. - Spec discussion 2026-05-04.
dev closed this issue 2026-05-04 22:04:52 +00:00
Sign in to join this conversation.
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
charles/claude-hooks#833
No description provided.