Commit Graph
100 Commits
Author SHA1 Message Date
simoleoandCursor 1d8efefce4 Fix Visual Manager empty categories: seed roots, harden tree API.
Seed root tabs from SSR, load the full tree without CLEAR_TREE races, coerce parent ids, and tolerate catalog_items page_id type mismatches so category pages actually appear.

Co-authored-by: Cursor <[email protected]>
2026-07-17 22:02:53 +02:00
simoleoandCursor 8083012445 Remove unused tooltip imports from catalog root tabs.
Co-authored-by: Cursor <[email protected]>
2026-07-17 21:26:48 +02:00
simoleoandCursor b668ab3547 Rebuild Visual Manager as portal overlay matching habbo-next UX.
Base UI Dialog broke the Radix-era full-viewport manager. Use a body portal shell like habbo-next behavior, without DialogTitle/Popup, so tree + editor mount and nested pickers stay usable.

Co-authored-by: Cursor <[email protected]>
2026-07-17 21:26:35 +02:00
simoleo e7a6587b7f Delete directory 'docs/superpowers' 2026-07-17 21:26:05 +02:00
simoleoandCursor f6871807c9 Fix Visual Manager for Base UI: layout, tree load, no nested dialogs.
Move trigger outside Dialog.Root, use portal confirms and inline create forms, and load the catalog tree atomically so the manager matches the designed full-viewport UX.

Co-authored-by: Cursor <[email protected]>
2026-07-17 21:21:40 +02:00
simoleoandCursor 2ff5b47104 Harden catalog writes: bulk import batch + field allowlists.
Bulk import resolves names from items_base and refreshes RCON once. Page/item updates only accept an allowlisted field set.

Co-authored-by: Cursor <[email protected]>
2026-07-17 21:14:35 +02:00
simoleoandCursor b52e25578d Harden catalog admin: fix translate/quick-add, RCON sync, and confirm UX.
Restore broken Quick Add search, correct Translate saves to items_base and FurnitureData, reparent page deletes, sync RCON on create/toggle/BC mutations, and replace native confirms/prompts with dialogs.

Co-authored-by: Cursor <[email protected]>
2026-07-17 21:12:58 +02:00
simoleoandCursor 11d3cf31cc Restore missing catalog admin API routes so Visual Manager works.
Co-authored-by: Cursor <[email protected]>
2026-07-17 20:57:55 +02:00
simoleoandCursor ce8c3503e9 Fix language menu position by portaling out of sidebar overflow.
Co-authored-by: Cursor <[email protected]>
2026-07-17 20:50:41 +02:00
simoleoandCursor 06610e9ae3 Migrate tickets and CFH lists to DataTable; confirm destructive mod actions.
Co-authored-by: Cursor <[email protected]>
2026-07-17 20:37:50 +02:00
simoleoandCursor cbdea70f83 Improve shop hub: CurrencyIcon on packages/vouchers, DataTable for transactions.
Co-authored-by: Cursor <[email protected]>
2026-07-17 20:32:45 +02:00
simoleoandCursor a2ca9b3c23 Add shared ConfirmDialog; upgrade wordfilter with client actions and toasts.
Co-authored-by: Cursor <[email protected]>
2026-07-17 20:28:43 +02:00
simoleoandCursor 1039044e48 Improve admin UX: hub i18n, dynamic topbar, settings strings, staff logs DataTable.
Co-authored-by: Cursor <[email protected]>
2026-07-17 20:14:55 +02:00
simoleoandCursor 49d204e85c Remove import/repair feature and related API routes.
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:52:38 +02:00
simoleoandCursor bb7d581084 Add exportPermissions and clean stray untracked src on deploy.
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:48:34 +02:00
simoleoandCursor 9b411e69b4 Fix CMS translations path to src/messages.
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:43:34 +02:00
simoleoandCursor d2c33145a2 Fix checkbox and switch styles after Base UI migration.
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:35:44 +02:00
simoleoandCursor 25f01b61b3 Migrate UI primitives from Radix to Base UI.
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:31:07 +02:00
simoleoandCursor 90cff7e5d5 Show full-body size=m avatars on admin users list.
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:21:21 +02:00
simoleoandCursor 8bc4264f43 Replace monolithic radix-ui with scoped @radix-ui packages.
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:20:27 +02:00
simoleoandCursor 741c3b5f51 Remove unused Lucide imports from economy analytics page.
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:16:09 +02:00
simoleoandCursor d7405238ea Use Habbo currency PNGs for admin credits, duckets, and diamonds icons.
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:16:01 +02:00
simoleoandCursor b42a313825 Fix transparent admin Select/Popover overlays and semantic surface tokens.
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:10:52 +02:00
simoleoandCursor 665d87cbf4 Harden analytics pages against missing tables and RSC dynamic imports.
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:07:53 +02:00
simoleoandCursor 63c7ff8570 Fix missing next/image import on radio AutoDJ page.
Co-authored-by: Cursor <[email protected]>
2026-07-17 18:03:07 +02:00
simoleoandCursor d2c0619f2f Clean up admin hub UX: tabs, chrome, and redundant headers.
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
simoleoandCursor 378705dd73 Add admin UX cleanup Phase 1 design spec.
Co-authored-by: Cursor <[email protected]>
2026-07-17 17:53:15 +02:00
simoleoandCursor 8cce8837bc Serve avatars from Habbo imager instead of broken self-hosted proxy.
Co-authored-by: Cursor <[email protected]>
2026-07-15 21:51:02 +02:00
simoleoandCursor 2c68fb7e5a Polish admin language dropdown layout and selection styles.
Co-authored-by: Cursor <[email protected]>
2026-07-15 21:46:54 +02:00
simoleoandCursor ea07950374 Fix radio admin StatusCard icons showing as Unicode escapes.
Co-authored-by: Cursor <[email protected]>
2026-07-15 21:45:57 +02:00
simoleoandCursor 7b6c02c07d Make admin light/dark mode follow real palettes end-to-end.
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
simoleoandCursor 94904f2ddb Add language picker to admin sidebar and topbar.
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
simoleoandCursor 1e3eb86495 Add dark/light toggle to admin sidebar and topbar.
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
simoleoandCursor 363c9b3d56 Reorganize admin into tabbed hubs with a condensed sidebar.
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
simoleoandCursor 367f69a439 Decouple admin from public max-w-7xl via (site) route group.
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
simoleoandCursor a1dc7ff0a7 Set admin max width to 96rem, wider than public 80rem.
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
simoleoandCursor e892b0426a Cap admin shell at 75vw instead of full bleed.
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
simoleoandCursor 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
simoleoandCursor c186f51ae0 Widen admin by escaping the public max-w-7xl chrome.
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
simoleoandCursor 0096c55f96 Fix theme switcher desync and auto-correct unreadable saved colors.
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
simoleoandCursor ed56bf0917 Fix multi-theme contrast: separate public tokens from admin remap.
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
simoleoandCursor d7278c77f9 Fix automatic readable text contrast for public and admin themes.
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
simoleoandCursor 9d4d409b77 Restore self-hosted /api/imaging/avatar (and badge) endpoints.
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
simoleoandCursor 3403d3b19f Fix admin permissions bounce, prefixes APIs, and Italian UI leftovers.
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
simoleoandCursor 0e89d03940 Finish fine-grained ACL across remaining admin pages and actions.
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
simoleoandCursor 3c8a8ff888 Extend fine-grained ACL to settings, content, shop, and radio.
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
simoleoandCursor f2427b3483 Harden admin ACL on critical write paths.
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
simoleoandCursor bae543baf6 Fix admin regressions from Biome refactor: theme init, mobile nav, i18n.
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
simoleo 65e942b268 Update README.md 2026-07-12 20:54:51 +02:00
simoleo 60278b9e71 feat: add admin operations suite 2026-07-12 20:11:28 +02:00
simoleo 21a61068fb test: define admin operations contracts 2026-07-12 20:01:25 +02:00
simoleo dbb9cad01e docs: plan admin operations port 2026-07-12 20:00:46 +02:00
simoleo f5ba556e29 docs: define admin operations port 2026-07-12 19:59:45 +02:00
simoleo c0ffc74f9b fix: externalize lzma for import build 2026-07-12 19:15:08 +02:00
simoleo eb759f54bf feat: connect guarded asset import api 2026-07-12 19:12:25 +02:00
simoleo 3497df9dfd feat: add asset import services 2026-07-12 19:12:25 +02:00
simoleo 4b596226e0 fix: complete acl management 2026-07-12 19:12:24 +02:00
simoleo 667ec9af4c test: define acl and import backend contracts 2026-07-12 19:01:28 +02:00
simoleo 63ab21616c docs: define acl and import backend work 2026-07-12 19:00:47 +02:00
simoleo 84e4123f09 fix: use semantic colors across admin pages 2026-07-12 18:50:45 +02:00
simoleo 0fe482009c fix: isolate shared admin styling 2026-07-12 18:50:44 +02:00
simoleo 4ce35e91fb feat: add semantic admin palette 2026-07-12 18:47:23 +02:00
simoleo d4bcf89449 test: enforce admin theme isolation 2026-07-12 18:46:16 +02:00
simoleo 1c581ca5df docs: plan admin theme isolation 2026-07-12 18:45:38 +02:00
simoleo 907ac9bf5b docs: define admin theme isolation 2026-07-12 18:44:24 +02:00
simoleo 2606092337 feat: add admin content module pages 2026-07-12 15:27:07 +02:00
simoleo f422bb4a0b feat: add admin content module actions 2026-07-12 15:27:07 +02:00
simoleo b9525c8e6b feat: add schema for admin content modules 2026-07-12 15:27:06 +02:00
simoleo 9ead82bbca docs: plan first admin module port 2026-07-12 15:22:00 +02:00
simoleo acc34ea8bf docs: define first admin module port 2026-07-12 15:19:48 +02:00
simoleo 41002aa36d fix: preserve Next.js deploy cache 2026-07-12 15:17:16 +02:00
simoleo f0b4bc1630 fix: enforce semantic contrast across admin 2026-07-12 15:14:15 +02:00
simoleo 45c8178cfa docs: plan semantic theme contrast work 2026-07-12 15:08:13 +02:00
simoleo 2227902c3e docs: define semantic theme contrast design 2026-07-12 15:07:30 +02:00
simoleo b1a60adbc2 feat: rebrand CMS information as EpicNext 2026-07-12 14:49:37 +02:00
simoleo 9cdd0b4000 feat: persist complete multitheme palettes 2026-07-12 14:49:36 +02:00
simoleo 3fd2a27719 feat: generate preset-aware dark theme variables 2026-07-12 14:49:36 +02:00
simoleo 48c596cf41 feat: add complete light and dark presets 2026-07-12 14:45:11 +02:00
simoleo a550b06a58 docs: plan EpicNext multitheme implementation 2026-07-12 14:43:43 +02:00
simoleo 7ec3095abd docs: define EpicNext multitheme design 2026-07-12 14:42:36 +02:00
simoleo 5261cfaa1a feat: add CMS info footer popup 2026-07-12 14:37:00 +02:00
simoleo 7d3430aeca fix: seed production ACL permissions 2026-07-12 14:29:01 +02:00
simoleo 685033dcbd Update .gitea/workflows/deploy.yaml 2026-07-12 14:22:07 +02:00
simoleo 48047f2782 Update .gitea/workflows/deploy.yaml 2026-07-12 14:11:06 +02:00
simoleo ec7257f4ea Update .gitea/workflows/deploy.yaml 2026-07-12 14:09:57 +02:00
simoleo 50496b20be Update .gitea/workflows/deploy.yaml 2026-07-12 14:08:44 +02:00
simoleo 9b1bc2fd09 Update .gitea/workflows/deploy.yaml 2026-07-12 13:48:13 +02:00
simoleo 69ca4b035b Update .gitea/workflows/deploy.yaml 2026-07-12 13:45:34 +02:00
simoleo cdf180ee3f fix: isolate proxy session decoding 2026-07-12 13:39:25 +02:00
simoleo c768d80cab Update .gitea/workflows/deploy.yaml 2026-07-11 23:11:36 +02:00
simoleo f9213beb9c Update .gitea/workflows/deploy.yaml 2026-07-11 23:09:57 +02:00
simoleo 3140cbbbd4 revert 71e0457e7e
revert Update .gitea/workflows/deploy.yaml

Signed-off-by: Simo <[email protected]>
2026-07-11 23:07:56 +02:00
simoleo 71e0457e7e Update .gitea/workflows/deploy.yaml
Signed-off-by: Simo <[email protected]>
2026-07-11 23:06:52 +02:00
simoleo f48532f2d0 Update .gitea/workflows/deploy.yaml
Signed-off-by: Simo <[email protected]>
2026-07-11 23:05:14 +02:00
simoleo c57a894d7a Update .gitea/workflows/deploy.yaml 2026-07-11 23:01:53 +02:00
simoleo c4bf6488d0 fix: use canonical Auth.js session in proxy 2026-07-11 22:55:26 +02:00
simoleo cfa7998dd7 fix: detect deployed Auth.js session cookie 2026-07-11 22:46:04 +02:00
simoleo 02bbcba240 fix: decode production admin session cookie 2026-07-11 22:42:19 +02:00
simoleo f08e56cf53 fix: authorize super admins by dynamic highest rank 2026-07-11 22:35:40 +02:00
simoleo bb847176ad Merge remote-tracking branch 'nextjs/main' into codex/publish-nextjs-current 2026-07-11 22:18:52 +02:00