WebHooker/admin
RhenCloud c73b642504
feat(admin): deep-linkable console URLs, stop collapsing unknown paths to /admin
The root catch-all page ([...slug].vue) redirected every unknown URL to
/admin, and the worker fell back to the SPA for any path — so no matter
what page was opened, the URL ended up at baseurl/admin.

- Extract the console into ConsolePage.vue; the active tab now mirrors
  the URL path: /admin (groups), /admin/groups, /admin/logs, /admin/audit
  (tab switches use router.replace; unknown slugs render 404)
- admin.vue and admin/[slug].vue become thin wrappers
- Delete the root [...slug].vue catch-all redirect
- server.ts: notFound serves ASSETS (SPA + _nuxt chunks) only for
  /admin-prefixed paths; every other unknown URL returns a JSON 404
2026-08-12 00:05:20 +08:00
..
assets/css feat(admin-ui): members panel, invite links, audit tab and role-aware console 2026-08-11 23:38:33 +08:00
components feat(admin): deep-linkable console URLs, stop collapsing unknown paths to /admin 2026-08-12 00:05:20 +08:00
composables feat(admin-ui): members panel, invite links, audit tab and role-aware console 2026-08-11 23:38:33 +08:00
pages feat(admin): deep-linkable console URLs, stop collapsing unknown paths to /admin 2026-08-12 00:05:20 +08:00
app.vue feat(admin): GitHub OAuth login, admin whitelist and Nuxt WebUI 2026-08-02 06:50:41 +08:00
bun.lock fix(push): link commit hash and render message as plain text 2026-08-11 17:50:20 +08:00
nuxt.config.ts feat(admin): GitHub OAuth login, admin whitelist and Nuxt WebUI 2026-08-02 06:50:41 +08:00
package.json fix(push): link commit hash and render message as plain text 2026-08-11 17:50:20 +08:00
types.ts feat(admin-ui): members panel, invite links, audit tab and role-aware console 2026-08-11 23:38:33 +08:00