Redesign "settings" and "admin" #8
Labels
No labels
bug
duplicate
enhancement
future
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
rbrooks/TeaLeaves#8
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The Settings page vs Admin page are confusing; there are many settings in "Settings" that feel like they should be in "Admin" instead. Consolidate and determine if both are needed; user settings should go to a user's profile settings page.
Plan — Settings / Admin / Profile redesign
Current inventory
settingsobject + per-section save handlers): General, Projects, Project templates, AI, AI tools, Search, Media, Email (SMTP), Backup, Integrations, Federation, Tags, Categories, ExportTarget structure (decided)
activitypub.enabled), plus the existing Version / Storage quotas / Users / Audit Log.site.displayNameis instance → stays in Admin; the user-level appearance/theme bits move here) and keep the existing federation opt-out beside Identity/Bio/Social/Storage.Implementation approach (avoids duplicating the save machinery)
app/src/hooks/useSettings.ts— encapsulates theGET /api/settingsfetch, loading/error, and a genericsaveKeys(partial: Record<string,string>)returning aSaveState. Both pages consume it.app/src/components/settings/<Name>Settings.tsx(Ai, AiTools, Search, Media, Smtp, Backup, Federation), each self-contained onuseSettings()+ its own draft state. TheField/SectionHeading/inputClshelpers move to a sharedcomponents/settings/primitives.tsx.AdminPage; leave the workspace components inSettingsPage. Move appearance toProfilePage.PUT /api/settingsauthorization — if it's currently any-authenticated, gate the instance keys to admins (or confirmrequireAdmincovers them) so the IA change matches the security model.Verification (no local Node — use the dev server)
ssh ai-dev-server, worktree off the branch,npm ci+npm run build(app tsc+vite) +npm testfor both packages. Test DB/Redis on 5434/6381;docker exec tealeaves-redis-test-1 redis-cli FLUSHALLif 429s cascade.State tonight
mainis clean and deployed at the post-#7 commit. #6 and #7 are done. This is the only remaining v6.2 issue.🤖 Tracked by Claude Code
Shipped in v6.2.0 (PR #58). Settings is now workspace-only (Projects, Project templates, Tags, Categories, Integrations, Export); instance config (AI, AI tools, Search, Media, SMTP, Backup, Federation kill-switch) moved to the admin-only Admin page, and
/api/settingsis nowrequireAdmin-gated. Profile was left unchanged — the only "appearance" control is the theme toggle, which isuseTheme/localStorage, not a settings-table key.Verified on dev (
npm run build+ 63 app / 175 API tests green) and deployed to dev (:18090) and prod (:8055) — both healthy. This was the last open issue in the v6.2 milestone (all three of #6/#7/#8 now closed); milestone ready to close.