Commit Graph
100 Commits
Author SHA1 Message Date
SimoandCursor 49d204e85c Remove import/repair feature and related API routes.
Local Build and Deploy / deploy (push) Successful in 1m41s
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:52:38 +02:00
SimoandCursor bb7d581084 Add exportPermissions and clean stray untracked src on deploy.
Local Build and Deploy / deploy (push) Successful in 1m13s
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:48:34 +02:00
SimoandCursor 9b411e69b4 Fix CMS translations path to src/messages.
Local Build and Deploy / deploy (push) Failing after 1m5s
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:43:34 +02:00
SimoandCursor d2c33145a2 Fix checkbox and switch styles after Base UI migration.
Local Build and Deploy / deploy (push) Successful in 1m2s
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:35:44 +02:00
SimoandCursor 25f01b61b3 Migrate UI primitives from Radix to Base UI.
Local Build and Deploy / deploy (push) Successful in 54s
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:31:07 +02:00
SimoandCursor 90cff7e5d5 Show full-body size=m avatars on admin users list.
Local Build and Deploy / deploy (push) Successful in 52s
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:21:21 +02:00
SimoandCursor 8bc4264f43 Replace monolithic radix-ui with scoped @radix-ui packages.
Local Build and Deploy / deploy (push) Successful in 55s
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:20:27 +02:00
SimoandCursor 741c3b5f51 Remove unused Lucide imports from economy analytics page.
Local Build and Deploy / deploy (push) Successful in 53s
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:16:09 +02:00
SimoandCursor d7405238ea Use Habbo currency PNGs for admin credits, duckets, and diamonds icons.
Local Build and Deploy / deploy (push) Successful in 56s
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:16:01 +02:00
SimoandCursor b42a313825 Fix transparent admin Select/Popover overlays and semantic surface tokens.
Local Build and Deploy / deploy (push) Successful in 52s
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:10:52 +02:00
SimoandCursor 665d87cbf4 Harden analytics pages against missing tables and RSC dynamic imports.
Local Build and Deploy / deploy (push) Successful in 1m1s
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:07:53 +02:00
SimoandCursor 63c7ff8570 Fix missing next/image import on radio AutoDJ page.
Local Build and Deploy / deploy (push) Successful in 56s
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:03:07 +02:00
SimoandCursor d2c0619f2f Clean up admin hub UX: tabs, chrome, and redundant headers.
Local Build and Deploy / deploy (push) Failing after 53s
Wire orphan routes into hub tabs, group Radio into primary/tools rows, show theme/language once on desktop, and remove duplicate page titles under AdminHubChrome.

Co-authored-by: Cursor <[email protected]>
2026-07-17 18:01:01 +02:00
SimoandCursor 378705dd73 Add admin UX cleanup Phase 1 design spec.
Local Build and Deploy / deploy (push) Successful in 55s
Co-authored-by: Cursor <[email protected]>
2026-07-17 17:53:15 +02:00
SimoandCursor 8cce8837bc Serve avatars from Habbo imager instead of broken self-hosted proxy.
Local Build and Deploy / deploy (push) Successful in 56s
Co-authored-by: Cursor <[email protected]>
2026-07-15 21:51:02 +02:00
SimoandCursor 2c68fb7e5a Polish admin language dropdown layout and selection styles.
Local Build and Deploy / deploy (push) Successful in 54s
Co-authored-by: Cursor <[email protected]>
2026-07-15 21:46:54 +02:00
SimoandCursor ea07950374 Fix radio admin StatusCard icons showing as Unicode escapes.
Local Build and Deploy / deploy (push) Successful in 56s
Co-authored-by: Cursor <[email protected]>
2026-07-15 21:45:57 +02:00
SimoandCursor 7b6c02c07d Make admin light/dark mode follow real palettes end-to-end.
Local Build and Deploy / deploy (push) Successful in 55s
Light admin derives from the public light theme; dark keeps HK overrides. Remap inputs, cards, muted text, and kill the public wallpaper on admin so fonts and boxes stay readable in both modes.

Co-authored-by: Cursor <[email protected]>
2026-07-15 21:37:25 +02:00
SimoandCursor 94904f2ddb Add language picker to admin sidebar and topbar.
Local Build and Deploy / deploy (push) Successful in 55s
Reuse LanguageSwitcher with an admin-styled dropdown next to the theme toggle.

Co-authored-by: Cursor <[email protected]>
2026-07-15 21:33:11 +02:00
SimoandCursor 1e3eb86495 Add dark/light toggle to admin sidebar and topbar.
Local Build and Deploy / deploy (push) Successful in 55s
Reuse ThemeSwitcher with an admin variant (Sun/Moon) next to the staff profile and in the housekeeping header.

Co-authored-by: Cursor <[email protected]>
2026-07-15 21:32:05 +02:00
SimoandCursor 363c9b3d56 Reorganize admin into tabbed hubs with a condensed sidebar.
Local Build and Deploy / deploy (push) Successful in 57s
Replace the long flat nav with hub entries, shared AdminHubChrome tabs, and AdminPageShell. Existing URLs stay stable; Settings/Radio and other sections now share one chrome.

Co-authored-by: Cursor <[email protected]>
2026-07-15 21:29:36 +02:00
SimoandCursor 367f69a439 Decouple admin from public max-w-7xl via (site) route group.
Local Build and Deploy / deploy (push) Successful in 54s
Public chrome and width live only under (site). /admin and /client inherit the root layout alone, so housekeeping width is no longer tied to the public template.

Co-authored-by: Cursor <[email protected]>
2026-07-15 21:12:52 +02:00
SimoandCursor a1dc7ff0a7 Set admin max width to 96rem, wider than public 80rem.
Local Build and Deploy / deploy (push) Successful in 55s
Public site stays max-w-7xl; admin is ~20% wider and still centered, never full viewport.

Co-authored-by: Cursor <[email protected]>
2026-07-15 21:09:20 +02:00
SimoandCursor e892b0426a Cap admin shell at 75vw instead of full bleed.
Local Build and Deploy / deploy (push) Successful in 54s
Keeps housekeeping wider than the public max-w-7xl grid without stretching edge-to-edge on large screens.

Co-authored-by: Cursor <[email protected]>
2026-07-15 21:07:01 +02:00
SimoandCursor e101ea474e Fix rooms list crash and rebuild CMS settings UI.
Rooms queried the wrong Prisma model and a non-existent owner relation. Settings now use grouped managed fields plus a searchable advanced key/value panel.

Co-authored-by: Cursor <[email protected]>
2026-07-15 21:02:57 +02:00
SimoandCursor c186f51ae0 Widen admin by escaping the public max-w-7xl chrome.
Local Build and Deploy / deploy (push) Successful in 54s
Render /admin outside the site header/nav/footer grid so housekeeping uses the full viewport width.

Co-authored-by: Cursor <[email protected]>
2026-07-15 20:59:53 +02:00
SimoandCursor 0096c55f96 Fix theme switcher desync and auto-correct unreadable saved colors.
Local Build and Deploy / deploy (push) Successful in 53s
Sync dark-mode state from the DOM after mount so admin text no longer needs a double toggle, and normalize text/button colors against their surfaces on theme save.

Co-authored-by: Cursor <[email protected]>
2026-07-15 20:54:46 +02:00
SimoandCursor ed56bf0917 Fix multi-theme contrast: separate public tokens from admin remap.
Local Build and Deploy / deploy (push) Successful in 54s
Public cards no longer paint with always-dark admin surfaces, and admin pages fully remap background/text/surface so shadcn UI stays readable on the admin canvas.

Co-authored-by: Cursor <[email protected]>
2026-07-15 20:51:20 +02:00
SimoandCursor d7278c77f9 Fix automatic readable text contrast for public and admin themes.
Local Build and Deploy / deploy (push) Successful in 55s
Derive admin/public text colors from WCAG contrast, unify ThemeVars CSS emission, and keep navbar overrides in sync with readable vars.

Co-authored-by: Cursor <[email protected]>
2026-07-15 20:41:34 +02:00
SimoandCursor 9d4d409b77 Restore self-hosted /api/imaging/avatar (and badge) endpoints.
Local Build and Deploy / deploy (push) Successful in 54s
The clothing importer and imager helpers pointed at a missing route; proxy Habbo with disk/memory cache so avatars work again.

Co-authored-by: Cursor <[email protected]>
2026-07-15 20:41:18 +02:00
SimoandCursor 3403d3b19f Fix admin permissions bounce, prefixes APIs, and Italian UI leftovers.
Local Build and Deploy / deploy (push) Successful in 56s
Gate permissions on ACL manage + resolve super-admin from live user ranks, restore prefixes API routes, and anglicize hardcoded admin copy with nav i18n.

Co-authored-by: Cursor <[email protected]>
2026-07-15 20:33:00 +02:00
SimoandCursor 0e89d03940 Finish fine-grained ACL across remaining admin pages and actions.
Local Build and Deploy / deploy (push) Successful in 56s
Replace leftover requireStaff gates with module PERMS, drop hardcoded room rank thresholds, and expand contract tests so admin mutations cannot regress to dashboard-only checks.

Co-authored-by: Cursor <[email protected]>
2026-07-15 20:15:22 +02:00
SimoandCursor 3c8a8ff888 Extend fine-grained ACL to settings, content, shop, and radio.
Local Build and Deploy / deploy (push) Successful in 54s
Gate pages and mutations on module PERMS instead of dashboard-only staff checks, add radio view/edit slugs with migration 0015, and expand the operations contract tests.

Co-authored-by: Cursor <[email protected]>
2026-07-15 20:11:55 +02:00
SimoandCursor f2427b3483 Harden admin ACL on critical write paths.
Local Build and Deploy / deploy (push) Successful in 54s
Gate translations, RCON, and user mutations on SETTINGS_EDIT, RCON_EXECUTE, and USERS_EDIT instead of dashboard/rank checks; redirect the legacy user-edit URL to the guarded canonical page.

Co-authored-by: Cursor <[email protected]>
2026-07-15 20:07:15 +02:00
SimoandCursor bae543baf6 Fix admin regressions from Biome refactor: theme init, mobile nav, i18n.
Local Build and Deploy / deploy (push) Successful in 54s
Restore valid browser JS in theme-init, close mobile sidebar on navigation, and split autoDjForm title/trackTitle across locales.

Co-authored-by: Cursor <[email protected]>
2026-07-15 20:02:25 +02:00
Simo 65e942b268 Update README.md
Local Build and Deploy / deploy (push) Successful in 1m16s
2026-07-12 20:54:51 +02:00
Simo 60278b9e71 feat: add admin operations suite
Local Build and Deploy / deploy (push) Successful in 50s
2026-07-12 20:11:28 +02:00
Simo 21a61068fb test: define admin operations contracts 2026-07-12 20:01:25 +02:00
Simo dbb9cad01e docs: plan admin operations port 2026-07-12 20:00:46 +02:00
Simo f5ba556e29 docs: define admin operations port 2026-07-12 19:59:45 +02:00
Simo c0ffc74f9b fix: externalize lzma for import build
Local Build and Deploy / deploy (push) Successful in 49s
2026-07-12 19:15:08 +02:00
Simo eb759f54bf feat: connect guarded asset import api 2026-07-12 19:12:25 +02:00
Simo 3497df9dfd feat: add asset import services 2026-07-12 19:12:25 +02:00
Simo 4b596226e0 fix: complete acl management 2026-07-12 19:12:24 +02:00
Simo 667ec9af4c test: define acl and import backend contracts 2026-07-12 19:01:28 +02:00
Simo 63ab21616c docs: define acl and import backend work 2026-07-12 19:00:47 +02:00
Simo 84e4123f09 fix: use semantic colors across admin pages
Local Build and Deploy / deploy (push) Successful in 49s
2026-07-12 18:50:45 +02:00
Simo 0fe482009c fix: isolate shared admin styling 2026-07-12 18:50:44 +02:00
Simo 4ce35e91fb feat: add semantic admin palette 2026-07-12 18:47:23 +02:00
Simo d4bcf89449 test: enforce admin theme isolation 2026-07-12 18:46:16 +02:00
Simo 1c581ca5df docs: plan admin theme isolation 2026-07-12 18:45:38 +02:00
Simo 907ac9bf5b docs: define admin theme isolation 2026-07-12 18:44:24 +02:00
Simo 2606092337 feat: add admin content module pages
Local Build and Deploy / deploy (push) Successful in 47s
2026-07-12 15:27:07 +02:00
Simo f422bb4a0b feat: add admin content module actions 2026-07-12 15:27:07 +02:00
Simo b9525c8e6b feat: add schema for admin content modules 2026-07-12 15:27:06 +02:00
Simo 9ead82bbca docs: plan first admin module port 2026-07-12 15:22:00 +02:00
Simo acc34ea8bf docs: define first admin module port 2026-07-12 15:19:48 +02:00
Simo 41002aa36d fix: preserve Next.js deploy cache
Local Build and Deploy / deploy (push) Successful in 45s
2026-07-12 15:17:16 +02:00
Simo f0b4bc1630 fix: enforce semantic contrast across admin
Local Build and Deploy / deploy (push) Successful in 44s
2026-07-12 15:14:15 +02:00
Simo 45c8178cfa docs: plan semantic theme contrast work 2026-07-12 15:08:13 +02:00
Simo 2227902c3e docs: define semantic theme contrast design 2026-07-12 15:07:30 +02:00
Simo b1a60adbc2 feat: rebrand CMS information as EpicNext
Local Build and Deploy / deploy (push) Successful in 45s
2026-07-12 14:49:37 +02:00
Simo 9cdd0b4000 feat: persist complete multitheme palettes 2026-07-12 14:49:36 +02:00
Simo 3fd2a27719 feat: generate preset-aware dark theme variables 2026-07-12 14:49:36 +02:00
Simo 48c596cf41 feat: add complete light and dark presets 2026-07-12 14:45:11 +02:00
Simo a550b06a58 docs: plan EpicNext multitheme implementation 2026-07-12 14:43:43 +02:00
Simo 7ec3095abd docs: define EpicNext multitheme design 2026-07-12 14:42:36 +02:00
Simo 5261cfaa1a feat: add CMS info footer popup
Local Build and Deploy / deploy (push) Successful in 43s
2026-07-12 14:37:00 +02:00
Simo 7d3430aeca fix: seed production ACL permissions
Local Build and Deploy / deploy (push) Successful in 56s
2026-07-12 14:29:01 +02:00
Simo 685033dcbd Update .gitea/workflows/deploy.yaml
Local Build and Deploy / deploy (push) Successful in 48s
2026-07-12 14:22:07 +02:00
Simo 48047f2782 Update .gitea/workflows/deploy.yaml
Local Build and Deploy / deploy (push) Failing after 17s
2026-07-12 14:11:06 +02:00
Simo ec7257f4ea Update .gitea/workflows/deploy.yaml
Local Build and Deploy / deploy (push) Failing after 14s
2026-07-12 14:09:57 +02:00
Simo 50496b20be Update .gitea/workflows/deploy.yaml
Local Build and Deploy / deploy (push) Failing after 18s
2026-07-12 14:08:44 +02:00
Simo 9b1bc2fd09 Update .gitea/workflows/deploy.yaml
Local Build and Deploy / deploy (push) Successful in 41s
2026-07-12 13:48:13 +02:00
Simo 69ca4b035b Update .gitea/workflows/deploy.yaml
Local Build and Deploy / deploy (push) Failing after 12s
2026-07-12 13:45:34 +02:00
Simo cdf180ee3f fix: isolate proxy session decoding
Local Build and Deploy / deploy (push) Successful in 1m2s
2026-07-12 13:39:25 +02:00
Simo c768d80cab Update .gitea/workflows/deploy.yaml
Remote Build and Deploy / deploy (push) Successful in 42s
2026-07-11 23:11:36 +02:00
Simo f9213beb9c Update .gitea/workflows/deploy.yaml
Remote Build and Deploy / deploy (push) Failing after 8s
2026-07-11 23:09:57 +02:00
Simo 3140cbbbd4 revert 71e0457e7e
Remote Build and Deploy / deploy (push) Failing after 1s
revert Update .gitea/workflows/deploy.yaml

Signed-off-by: Simo <[email protected]>
2026-07-11 23:07:56 +02:00
Simo 71e0457e7e Update .gitea/workflows/deploy.yaml
Remote Build and Deploy / deploy (push) Failing after 16s
Signed-off-by: Simo <[email protected]>
2026-07-11 23:06:52 +02:00
Simo f48532f2d0 Update .gitea/workflows/deploy.yaml
Remote Build and Deploy / deploy (push) Failing after 2s
Signed-off-by: Simo <[email protected]>
2026-07-11 23:05:14 +02:00
Simo c57a894d7a Update .gitea/workflows/deploy.yaml
Remote Build and Deploy / deploy (push) Failing after 26s
2026-07-11 23:01:53 +02:00
Simo c4bf6488d0 fix: use canonical Auth.js session in proxy
Remote Build and Deploy / deploy (push) Successful in 43s
2026-07-11 22:55:26 +02:00
Simo cfa7998dd7 fix: detect deployed Auth.js session cookie
Remote Build and Deploy / deploy (push) Successful in 44s
2026-07-11 22:46:04 +02:00
Simo 02bbcba240 fix: decode production admin session cookie
Remote Build and Deploy / deploy (push) Successful in 47s
2026-07-11 22:42:19 +02:00
Simo f08e56cf53 fix: authorize super admins by dynamic highest rank
Remote Build and Deploy / deploy (push) Successful in 42s
2026-07-11 22:35:40 +02:00
Simo bb847176ad Merge remote-tracking branch 'nextjs/main' into codex/publish-nextjs-current
Remote Build and Deploy / deploy (push) Successful in 42s
2026-07-11 22:18:52 +02:00
Simo d99b71a2d3 fix: make radio migrations safe for existing schemas 2026-07-11 22:18:45 +02:00
Simo 0ca23e6c01 Merge remote-tracking branch 'nextjs/main' into codex/publish-nextjs-current
Remote Build and Deploy / deploy (push) Successful in 27s
2026-07-11 22:11:39 +02:00
Simo 48ed1c20b6 fix: load environment for database migrations 2026-07-11 22:11:30 +02:00
Simo 2c9cb8c313 Merge remote-tracking branch 'nextjs/main' into codex/publish-nextjs-current
Remote Build and Deploy / deploy (push) Successful in 24s
2026-07-11 22:06:45 +02:00
Simo b695a33ead fix: enforce public contrast and audit rank errors 2026-07-11 22:06:45 +02:00
Simo 173274527f Merge remote-tracking branch 'nextjs/main' into codex/publish-nextjs-current
Remote Build and Deploy / deploy (push) Failing after 0s
2026-07-11 21:36:54 +02:00
Simo eaf5fc387d Merge remote-tracking branch 'nextjs/main' into codex/publish-nextjs-current 2026-07-11 21:36:17 +02:00
Simo 17264dfc06 fix: protect admin routes and ignore local docs 2026-07-11 21:35:37 +02:00
Simo 6a08db8dd0 style: normalize deploy workflow
Remote Build and Deploy / deploy (push) Failing after 0s
2026-07-11 21:27:42 +02:00
Simo 62db89119c Merge remote-tracking branch 'nextjs/main' into codex/publish-nextjs-current 2026-07-11 21:27:27 +02:00
Simo c4454a292c fix: parse SQL migration comments safely 2026-07-11 21:27:18 +02:00
Simo 8d37ae9ae0 style: normalize restored source endings
Remote Build and Deploy / deploy (push) Has been cancelled
2026-07-11 21:19:54 +02:00
Simo 9552d6b938 Merge remote-tracking branch 'nextjs/main' into codex/publish-nextjs-current 2026-07-11 21:19:37 +02:00