Skip to content

feat(settings): hub w/ tabs + feature toggles + config docs#94

Merged
f-amine merged 1 commit into
masterfrom
feat/settings-hub
May 15, 2026
Merged

feat(settings): hub w/ tabs + feature toggles + config docs#94
f-amine merged 1 commit into
masterfrom
feat/settings-hub

Conversation

@f-amine

@f-amine f-amine commented May 15, 2026

Copy link
Copy Markdown
Owner

Consolidates appearance, billing, security, API keys, webhooks into a single `/dashboard/settings` hub with vertical tabs.

Feature toggles

`apps/web/src/config/features.ts` is the single source of truth for what's enabled. Flip `enabled: false` on any entry and:

  • the matching settings tab disappears
  • the sidebar link disappears
  • (for some features) the API routes can be gated server-side too

Defaults ship boring-essentials on (billing, security, files, organizations, search, notifications, GDPR) and growth-extras off (affiliate, referrals).

Per-feature config

`docs/features/README.md` documents where each feature's values live (plans → `packages/billing/src/plans.ts`, retry budgets → `packages/api/src/webhooks.ts` top constants, etc.).

URL compatibility

Old standalone routes (`/dashboard/billing`, `/appearance`, `/security`, `/api-keys`, `/webhooks`) redirect to `/dashboard/settings#` so external links keep working.

Test plan

  • Visit `/dashboard/settings` — 6 tabs (Profile, Appearance, Billing, Security, API keys, Webhooks)
  • Click a tab → URL hash updates (`#billing`, etc.)
  • Hit `/dashboard/settings#security` cold — opens on Security tab
  • Set `features.billing.enabled = false` in config → Billing tab + sidebar link gone
  • Old `/dashboard/billing` redirects to settings hub

- apps/web/src/config/features.ts — single source of truth for which
  features are enabled. Flip enabled:false to hide a tab + sidebar link
- apps/web/src/components/settings/ — six section components:
  profile, appearance, billing, security, api-keys, webhooks
- /dashboard/settings is now a tabbed hub (vertical tabs on desktop,
  scrollable horizontal on mobile, hash-routed for deep links)
- Old standalone routes redirect to settings#<tab>
- Sidebar gates each link by feature flag; affiliate + referrals get
  their own 'Growth' group; settings replaces the per-feature spam
- docs/features/README.md explains toggle workflow + per-feature
  config file locations
@f-amine f-amine merged commit c653426 into master May 15, 2026
2 checks passed
@f-amine f-amine deleted the feat/settings-hub branch May 15, 2026 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant