Summary
Build out the settings page so guild and integration configuration can be viewed and updated safely without exposing secrets.
Current Behaviour
The settings route exists as a dashboard section, but the current implementation appears to be minimal and mock-data driven. There is no clear settings model, validation, or separation between public settings and secret values.
Expected Behaviour
Admins should be able to manage safe public settings while secret values remain write-only, redacted, and server-side.
Suggested Implementation
Define settings models for guild display settings, integration mode, webhook configuration, API endpoints, and notification preferences. Add forms with validation and split secret fields into write-only update flows.
Files or Areas Likely Affected
apps/dashboard/app/settings/page.tsx
apps/dashboard/lib/settings/
apps/dashboard/app/api/settings/
apps/dashboard/lib/env.ts
apps/dashboard/components/
README.md
Acceptance Criteria
Additional Notes
Assumption: secret persistence requires server-side storage or backend support. If unavailable, implement the UI and API contract first.
Summary
Build out the settings page so guild and integration configuration can be viewed and updated safely without exposing secrets.
Current Behaviour
The settings route exists as a dashboard section, but the current implementation appears to be minimal and mock-data driven. There is no clear settings model, validation, or separation between public settings and secret values.
Expected Behaviour
Admins should be able to manage safe public settings while secret values remain write-only, redacted, and server-side.
Suggested Implementation
Define settings models for guild display settings, integration mode, webhook configuration, API endpoints, and notification preferences. Add forms with validation and split secret fields into write-only update flows.
Files or Areas Likely Affected
apps/dashboard/app/settings/page.tsxapps/dashboard/lib/settings/apps/dashboard/app/api/settings/apps/dashboard/lib/env.tsapps/dashboard/components/README.mdAcceptance Criteria
Additional Notes
Assumption: secret persistence requires server-side storage or backend support. If unavailable, implement the UI and API contract first.