Rename admin pages to settings #167

Merged
erik merged 2 commits from feat/task-1d2dadc1-settings-routes into main 2026-06-20 08:39:51 -05:00
Owner

Summary

  • Replace protected /admin... page routes with /settings... page routes only.
  • Rename route/template modules from admin page names to settings page names.
  • Update settings page links, form actions, login defaults, passkey redirects, tests, and docs to use /settings.
  • Add a profile/person SVG header icon linking to /settings in the public and settings headers.
  • Add coverage for unauthenticated settings redirects and old /admin route removal.

Verification

  • npm run build --workspace @slugkit/template-site
  • Targeted template-site auth/public/settings route tests
  • ./scripts/pre-pr.sh
## Summary - Replace protected `/admin...` page routes with `/settings...` page routes only. - Rename route/template modules from admin page names to settings page names. - Update settings page links, form actions, login defaults, passkey redirects, tests, and docs to use `/settings`. - Add a profile/person SVG header icon linking to `/settings` in the public and settings headers. - Add coverage for unauthenticated settings redirects and old `/admin` route removal. ## Verification - `npm run build --workspace @slugkit/template-site` - Targeted template-site auth/public/settings route tests - `./scripts/pre-pr.sh`
feat: rename admin pages to settings
All checks were successful
CI / build-lint-test (pull_request) Successful in 49s
fe1e85dbbc
Task: #task-1d2dadc1
Author
Owner

PR Review: Approved

Summary

This PR replaces the protected admin page routes with settings page routes, updates settings templates/forms/login defaults/tests/docs, removes the old /admin page route, and adds a profile/person SVG header link to /settings in both public and settings headers.

Acceptance criteria

  • Admin pages are accessible through settings routes/pages instead — met: protected page routes are now registered under /settings, /settings/passkeys, /settings/api-keys, /settings/users, and /settings/activitypub; old /admin page route is covered as not exposed.
  • A profile/person SVG menu item appears in the header — met: the public and settings headers include a settings-link anchor with an inline person/profile SVG.
  • Clicking the header profile/person icon opens the settings pages — met: the header icon links to /settings, with route tests asserting the link appears.
  • Unauthenticated users who visit settings are taken to the login page — met: /settings uses the protected settings middleware and tests assert anonymous settings access redirects to /login.

Blocking issues

None.

Warnings

None.

Verification

  • npm run build --workspace @slugkit/template-site
  • Targeted template-site auth/public/settings route tests
  • ./scripts/pre-pr.sh
  • Forgejo Actions run #232 passed.

Verdict

Approved. Stop at the human merge gate.

PR Review Worker Result

  • pr: open
  • review: approved
  • pr_comment: posted
  • task_comment: posted
  • blocking_issues: 0
  • warnings: 0
  • criteria_total: 4
  • criteria_met: 4
  • criteria_missing: 0
## PR Review: Approved ### Summary This PR replaces the protected admin page routes with settings page routes, updates settings templates/forms/login defaults/tests/docs, removes the old `/admin` page route, and adds a profile/person SVG header link to `/settings` in both public and settings headers. ### Acceptance criteria - [x] Admin pages are accessible through settings routes/pages instead — met: protected page routes are now registered under `/settings`, `/settings/passkeys`, `/settings/api-keys`, `/settings/users`, and `/settings/activitypub`; old `/admin` page route is covered as not exposed. - [x] A profile/person SVG menu item appears in the header — met: the public and settings headers include a `settings-link` anchor with an inline person/profile SVG. - [x] Clicking the header profile/person icon opens the settings pages — met: the header icon links to `/settings`, with route tests asserting the link appears. - [x] Unauthenticated users who visit settings are taken to the login page — met: `/settings` uses the protected settings middleware and tests assert anonymous settings access redirects to `/login`. ### Blocking issues None. ### Warnings None. ### Verification - `npm run build --workspace @slugkit/template-site` - Targeted template-site auth/public/settings route tests - `./scripts/pre-pr.sh` - Forgejo Actions run #232 passed. ### Verdict Approved. Stop at the human merge gate. PR Review Worker Result - pr: open - review: approved - pr_comment: posted - task_comment: posted - blocking_issues: 0 - warnings: 0 - criteria_total: 4 - criteria_met: 4 - criteria_missing: 0
fix: allow viewers to open settings
All checks were successful
CI / build-lint-test (pull_request) Successful in 42s
ccc7a3f833
Task: #task-1d2dadc1
Author
Owner

PR Review Update: Approved

Summary

Reviewed the follow-up fix for viewer access. /settings now requires an active site-user session instead of the admin role, so signed-in viewers can open settings and manage their own passkeys. Admin-only areas remain protected: Site users, ActivityPub, and API keys stay hidden from viewer settings navigation/dashboard and remain behind admin-role middleware until viewer API-key scoping is implemented separately.

Acceptance criteria

  • Admin pages are accessible through settings routes/pages instead — met.
  • A profile/person SVG menu item appears in the header — met.
  • Clicking the header profile/person icon opens the settings pages — met.
  • Unauthenticated users who visit settings are taken to the login page — met.

Blocking issues

None.

Warnings

None.

Verification

  • npm run build --workspace @slugkit/template-site
  • Targeted auth/passkeys/users/activitypub tests
  • ./scripts/pre-pr.sh
  • Forgejo Actions run #233 passed.

Verdict

Approved. Stop at the human merge gate.

PR Review Worker Result

  • pr: open
  • review: approved
  • pr_comment: posted
  • task_comment: posted
  • blocking_issues: 0
  • warnings: 0
  • criteria_total: 4
  • criteria_met: 4
  • criteria_missing: 0
## PR Review Update: Approved ### Summary Reviewed the follow-up fix for viewer access. `/settings` now requires an active site-user session instead of the admin role, so signed-in viewers can open settings and manage their own passkeys. Admin-only areas remain protected: Site users, ActivityPub, and API keys stay hidden from viewer settings navigation/dashboard and remain behind admin-role middleware until viewer API-key scoping is implemented separately. ### Acceptance criteria - [x] Admin pages are accessible through settings routes/pages instead — met. - [x] A profile/person SVG menu item appears in the header — met. - [x] Clicking the header profile/person icon opens the settings pages — met. - [x] Unauthenticated users who visit settings are taken to the login page — met. ### Blocking issues None. ### Warnings None. ### Verification - `npm run build --workspace @slugkit/template-site` - Targeted auth/passkeys/users/activitypub tests - `./scripts/pre-pr.sh` - Forgejo Actions run #233 passed. ### Verdict Approved. Stop at the human merge gate. PR Review Worker Result - pr: open - review: approved - pr_comment: posted - task_comment: posted - blocking_issues: 0 - warnings: 0 - criteria_total: 4 - criteria_met: 4 - criteria_missing: 0
erik merged commit 07a7e40593 into main 2026-06-20 08:39:51 -05:00
erik deleted branch feat/task-1d2dadc1-settings-routes 2026-06-20 08:39:51 -05:00
Sign in to join this conversation.
No description provided.