Skip to content

feat: Expand Settings page with sub-pages (version, team, password) #427

@manojbajaj95

Description

@manojbajaj95

Summary

Improve the Settings area of the Authsome dashboard by adding structured sub-settings: version info, team management, and password change — instead of the current minimal two-card layout.

Current state

Route: /settingsui/src/app/(authenticated)/settings/page.tsx

Implementation: Renders SettingsView from authsome-dashboard.tsx, which shows only:

  • Account card: email, role, principal ID
  • Daemon card: version string, encryption label
// ui/src/components/authsome-dashboard.tsx — SettingsView (~lines 1488–1514)
<SectionHeader description="Local daemon and account context." title="Settings" />
// Two static KeyValue cards — no sub-navigation, no actions

Related but elsewhere:

  • Principals / team: /principal (admin-only nav item) — separate from Settings
  • Password / account auth: hosted mode uses HostedAccountService + UI session JWT (src/authsome/server/routes/ui.py) — login/register flows exist at /login but no in-app password change
  • Version: shown inline in Daemon card; no dedicated about/version page

Proposed work

Restructure Settings as a hub with sub-pages or tabs:

Sub-setting Content
General / Account Email, role, principal ID (current Account card)
Version / About Daemon version, build info, links to docs/changelog
Team management Invite/manage principals or team members (may consolidate or link to /principal)
Password & security Change password (hosted accounts), session management

Design considerations

  • CONTEXT.md notes authsome is single-tenant — "team" may mean principal membership / identity claims, not multi-org. Align copy and scope with domain model (Principal, IdentityClaimRecord).
  • Admin-only sections (team-wide principal management) should respect data.account.isAdmin.
  • Match visual patterns from ui/DESIGN.md and consistency work tracked separately.

Relevant files

  • ui/src/components/authsome-dashboard.tsxSettingsView, NAV_ITEMS
  • ui/src/app/(authenticated)/settings/page.tsx
  • ui/src/lib/authsome-api.ts — dashboard/account API types
  • src/authsome/server/routes/ui.py — register, login, logout
  • src/authsome/server/hosted_account.py (if exists) — password operations

Acceptance criteria

  • Settings has clear sub-navigation (tabs or nested routes under /settings/*).
  • Version/about information is accessible in a dedicated sub-section.
  • Hosted users can change password from the UI (API + form).
  • Team/principal management is reachable from Settings (inline or linked) with correct role gating.

Metadata

Metadata

Labels

ready-for-agentFully specified, ready for an AFK agent

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions