Commit Graph
1199 Commits
Author SHA1 Message Date
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
openhands a3b077c488 feat: add smooth site-wide animations with framer-motion
Local Build and Deploy / deploy (push) Successful in 53s
- Add framer-motion and tailwindcss-animate for transitions
- Add page transitions via AnimatePresence in the site layout
- Convert nav dropdown and mobile menu to animated motion components
- Add entry animation to the radio player widget
- Add reveal/stagger animations to the home page views
- Add shared motion utilities and reusable animated components
2026-07-16 20:58:18 +02:00
openhands ac1b412756 remove outer panel border
Local Build and Deploy / deploy (push) Successful in 1m7s
2026-07-16 16:38:30 +02:00
openhands b71a45e45b fix: fetch real motto from user account in home page
Local Build and Deploy / deploy (push) Successful in 48s
2026-07-16 16:36:41 +02:00
openhands e023210382 feat: use panel-border-color for avatar ring and surface color for username panel
Local Build and Deploy / deploy (push) Successful in 59s
2026-07-16 15:58:49 +02:00
openhands 5cbe303e43 feat: make panel border color configurable via theme editor
Local Build and Deploy / deploy (push) Successful in 47s
- Add panel_border_color to THEME_COLOR_KEYS and base palettes
- Register panel-border-color CSS variable
- Fetch and inject panel_border_color in ThemeVars
- Add Panel border field to admin theme page
- Replace hardcoded #e9b124 with var(--panel-border-color) in UserView
2026-07-16 15:53:53 +02:00
openhands ddb7e77877 Make imager URL absolute using NEXT_PUBLIC_APP_URL to avoid port issues
Local Build and Deploy / deploy (push) Successful in 53s
2026-07-15 22:45:35 +02:00
openhands a5e085e04c Add NEXT_PUBLIC_IMAGER_URL example to .env.example
Local Build and Deploy / deploy (push) Successful in 1m0s
2026-07-15 22:28:44 +02:00
openhands 19faa5615c Serve avatars from site's own /imaging endpoint instead of habbo.com
Local Build and Deploy / deploy (push) Successful in 1m7s
- Change default public imager URL from habbo.com to /imaging
- /imaging and /api/imaging/avatar now proxy from upstream (habbo.com) instead of redirecting
- Add resolveUpstreamBase() to separate public URL from upstream URL
- Update admin settings default and description
2026-07-15 22:23:09 +02:00
openhands 71f154cf52 Add /imaging route for avatar proxy and prevent redirect loops
Local Build and Deploy / deploy (push) Successful in 1m10s
2026-07-15 22:14:58 +02:00
openhands 169f658097 Add img_format=png to imager URLs and extend navbar color picker with 10 new colors
Local Build and Deploy / deploy (push) Successful in 56s
2026-07-15 22:09:47 +02:00
remco 15966bcf6d Update .gitea/workflows/deploy.yaml
Local Build and Deploy / deploy (push) Successful in 55s
2026-07-15 21:57:02 +02:00
remco 64db83c5d3 Update .gitea/workflows/deploy.yaml
Local Build and Deploy / deploy (push) Failing after 15s
2026-07-15 21:54:27 +02:00
remco 3802a1cfb0 Update .gitea/workflows/deploy.yaml
Local Build and Deploy / deploy (push) Successful in 56s
2026-07-15 21:52:39 +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
openhands 59b63d6e70 Fix real Biome bugs: inner declarations, dup keys, assign-in-expr, implicit any, cookie, a11y svg/keyboard, json
Local Build and Deploy / deploy (push) Successful in 51s
2026-07-14 18:58:40 +02:00
openhands 8d5c8ec96f Visibility polish: admin sidebar contrast/focus, table header readability, nav focus rings
Local Build and Deploy / deploy (push) Successful in 57s
2026-07-14 16:50:43 +02:00
openhands db1875b40b Close mobile nav menu when a link inside is tapped
Local Build and Deploy / deploy (push) Successful in 58s
2026-07-14 16:44:07 +02:00
openhands af1b18d866 Fix mobile nav: hamburger left, brand right, polished menu panel
Local Build and Deploy / deploy (push) Successful in 57s
2026-07-14 16:41:19 +02:00
openhands 48a5394204 Complete nav rewrite: native details/summary, zero JS state, zero transforms
Local Build and Deploy / deploy (push) Successful in 1m5s
- Mobile nav: uses <details>/<summary> for toggle, no useState, no useEffect
- Nav dropdown: uses <details>/<summary>, no useState, no event listeners
- Desktop: separate div with desktop nav items (hidden on mobile)
- Mobile: hamburger dropdown with absolute positioned panel
- CSS: removed ::after pseudo-element with transform, replaced hover
  with background-color only, added details[open] CSS rules
- No backdrop-filter, no will-change, no transition-all, no GPU hacks
- Works on every device without JS state management
2026-07-14 16:25:36 +02:00
openhands 5978b3c13d Rebuild mobile nav: absolute positioned dropdown panel, outside doc flow
Local Build and Deploy / deploy (push) Successful in 1m4s
2026-07-14 16:16:19 +02:00
openhands 90d249e50e Fix typecheck error: use non-null assertion after expect(pair).toBeDefined()
Local Build and Deploy / deploy (push) Successful in 59s
2026-07-14 16:12:01 +02:00
openhands c7c4617f2a Rebuild all menus from scratch for pixel-perfect rendering on every device
Local Build and Deploy / deploy (push) Successful in 59s
- mobile-nav: pure block/hidden toggle, no transforms, no transition-all
- nav-dropdown: clean block/hidden toggle, no CSS animation hacks
- navigation: removed shadow-sm, no will-change, no GPU compositing
- top-header: consistent mobile layout, clean details/summary dropdowns
- admin-mobile-wrapper: inline transition instead of CSS class for sidebar
- globals.css: removed transition-all from nav-item/dropdown-item, replaced
  with specific color/background-color transitions only, added hover bg
2026-07-14 16:10:01 +02:00
openhands 9910fd52c7 Fix blurry normal navigation on mobile: remove transition-all and shadow-sm from nav items
Local Build and Deploy / deploy (push) Successful in 59s
2026-07-14 16:01:46 +02:00
openhands bfa8aedb25 Fix blurry mobile nav: use block/hidden instead of max-h transition, add will-change to sticky nav
Local Build and Deploy / deploy (push) Successful in 57s
2026-07-14 15:47:46 +02:00
openhands 7b3e3c1531 Fix blurry mobile menu by removing CSS transform from animation
Local Build and Deploy / deploy (push) Successful in 57s
2026-07-14 15:42:24 +02:00
openhands 026cb55cf3 Fix mobile menu blur and improve admin sidebar text contrast
Local Build and Deploy / deploy (push) Successful in 57s
2026-07-14 15:36:17 +02:00