Commit Graph

249 Commits

Author SHA1 Message Date
duckietm a0a4848ecb 🆙 Small update news images 2026-05-01 08:24:16 +02:00
duckietm 46eb7b45fc 🆙 Code cleanup News UI Login 2026-05-01 07:47:12 +02:00
duckietm d1f696e519 🆕 News in the UI Client login 2026-04-30 17:25:04 +02:00
duckietm 38470d6bec 🆙 Change Font to old school in login screen 2026-04-30 10:12:16 +02:00
duckietm b722903834 🆙 Small update to the Effect editor 2026-04-29 17:08:12 +02:00
duckietm eb0bf80dfa 🆙 Fix the avatar-editor faces 2026-04-29 15:44:17 +02:00
duckietm 78aedc4faa 🆕 Effect selection in user dropdown 2026-04-29 13:20:13 +02:00
duckietm a266696eb6 🆙 Added BuildHeight to NitroV3 2026-04-28 13:47:39 +02:00
duckietm 0bf861ef3c 🆙 Added ban to the login UI 2026-04-28 11:33:29 +02:00
duckietm f26a92844f 🆙 Fix background clipping 2026-04-24 13:53:21 +02:00
duckietm bf99f97122 🆙 Updated Tokens to use JWT rotational tokens 2026-04-24 11:16:15 +02:00
duckietm ca09952851 🆙 Fixed text beeing white in some containers for expl. Room-ads 2026-04-23 10:55:05 +02:00
duckietm 969f4a07d2 🆕 Token login added
Backend (AuthHttpHandler):
- New users_remember_tokens table stores sha256 hex of the raw token
  so the DB never holds a usable credential. Seed file adds the table
  and a login.remember.duration.days setting (default 30).
- /api/auth/login accepts "remember": true. On success, issues a fresh
  32-byte base64url token, stores the hash, returns the raw token.
- New POST /api/auth/remember: accepts the raw token, looks up by hash,
  on a valid hit mints a fresh SSO ticket, rotates the token (deletes
  the consumed one and issues a new one), returns both to the client.
  No Turnstile - it's an automated trusted-device flow.
- /api/auth/logout also accepts rememberToken and deletes that single
  row so other devices keep their tokens.

Frontend:
- LoginView: "Remember me" checkbox (key login.remember_me already in
  ExternalTexts). Enabling it persists the returned rememberToken in
  localStorage.nitro.remember.token.
- App.tsx: before deciding to show the login screen, try a silent POST
  to /api/auth/remember with the stored token. On 200, inject the
  returned ssoTicket into window.NitroConfig and proceed to the
  authenticated flow; on 401, forget the token and show login.
- PurseView logout: sends the stored rememberToken in the body so the
  server can delete it, and clears localStorage before reload.
2026-04-23 10:16:32 +02:00
duckietm 2ff37c22d2 🆙 Added the use of ExternalTexts / UITexts 2026-04-23 08:33:04 +02:00
duckietm ce54d7bc53 🆙 Added Step 3 for UI login registration 2026-04-22 16:26:49 +02:00
duckietm 947b83a0ed 🆙 Updated Register user for internal Client
Make sure you have the hotlooks.json in the /dist folder !
2026-04-22 07:58:30 +02:00
DuckieTM 80033667b8 🆙 Added google ADS 2026-04-20 21:54:17 +02:00
duckietm 675b864c51 🆙 Small fix Login 2026-04-20 15:19:51 +02:00
duckietm 2de52235eb 🆕 UI Login page / no CMS required anymore 2026-04-20 14:22:53 +02:00
DuckieTM 815662c097 🆙 Better view for avatar objects in the editor 2026-04-19 13:08:55 +02:00
DuckieTM b9fa764ac8 🆙 Fix the avatar editor zoom problem 2026-04-19 10:50:32 +02:00
duckietm 4eb4af3e65 🆙 Some text update 2026-04-17 14:51:26 +02:00
duckietm d3e6743fdf 🆙 Do not make have_offer static 2026-04-17 14:23:26 +02:00
duckietm 88117d937f 🆙 Fix Catalog editor 2026-04-17 13:51:46 +02:00
duckietm b0967d7eaf 🆕 New Misc clothing 2026-04-16 13:34:53 +02:00
Life 78637b36a6 Modernize HC Center UI with Tailwind classes
Replace missing SCSS styles with inline Tailwind utilities and
image imports. Use design-system components (Column, Flex, Text,
Button) for consistent look across the client.

- Import hc-center images as modules (hc_logo, payday, clock, benefits)
- Replace custom CSS classes with Tailwind (w-[], h-[], bg-*, rounded, etc.)
- Use Text bold/small/variant props instead of raw h4/h5/h6 tags
- Add hover:underline on links, border cards, rounded sections
- Remove dead SCSS import from index.scss
2026-04-15 22:23:51 +02:00
duckietm 9dbe360448 🆙 Fixed Buddy Pets showing in catalogue 2026-04-15 13:09:27 +02:00
duckietm a770b99e2e 🆙 Added the BuildTools button, and redesign toolbar 2026-04-14 13:54:15 +02:00
duckietm 3a648663ec 🆙 Small updates 2026-04-14 11:18:46 +02:00
DuckieTM bae6f58b10 Merge branch 'Dev' into feat/wired-fixes-apr08 2026-04-13 16:58:14 +02:00
duckietm 5eb94b34a4 Revert "Merge pull request #87 from simoleo89/pr/catalog-edit-admin"
This reverts commit 1ca53e5797, reversing
changes made to bef58bc929.
2026-04-13 16:55:39 +02:00
Life adb30e6d60 feat(catalog-admin): full catalog admin editor with page/offer management
- New standalone admin editor window (1000x650) with Pages, Offers, Publish tabs
- Pages tab: full page tree with drag-and-drop reorder, identity/layout/content editing
- Icon browser: visual picker for 5500+ catalog icons with search and pagination
- Image browser: browse and select header/teaser images from server
- Offers tab: search, browse and edit catalog offers (cost, amounts, limited edition)
- Publish tab: one-click catalog publish with pending changes indicator
- Page tree: recursive expand/collapse, drag-and-drop reorder, hidden page indicators
- Widened catalog navigation sidebar (classic: 160->220px, modern: 250->280px)
- Improved font sizes and contrast across all admin components
- Support icon editing for root categories (iconId passed to save/create composers)
- Cleaned up inline admin controls from classic/modern catalog views
2026-04-13 00:03:40 +02:00
duckietm bef58bc929 🆙 Cleanup old youtube link in chat, now broadcasting is working 2026-04-10 16:32:14 +02:00
duckietm d61428c7d2 🆙 Cleanup Y Player 2026-04-10 11:56:05 +02:00
duckietm e7cf7809bc 🆙 Memory usage fixes 2026-04-10 11:40:39 +02:00
duckietm 45134c0ecd 🆙 Fixed lagg in Color seletor clothes 2026-04-10 10:35:28 +02:00
duckietm 2ac7ed492f 🆙 Updated all css to be used for vite 8.0 2026-04-10 10:15:58 +02:00
duckietm 4afdfd8f33 🆕 YoutubeTV Broadcasting in rooms ! 2026-04-10 09:26:50 +02:00
duckietm c7348a9509 Stage 2 Youtube & upgrade to vite 8 2026-04-09 15:35:58 +02:00
duckietm bbd4ccf30c 🆙 Stage 1 Youtube broadcast 2026-04-09 11:54:57 +02:00
Lorenzune 5e9e3e1e4c Polish wired editor UI and variable handling 2026-04-08 16:18:16 +02:00
duckietm 5bff312b3b 🆙 Fixed some minor bugs 2026-04-08 14:06:25 +02:00
DuckieTM 4a492d7b44 Merge pull request #78 from simoleo89/badge-dnd-rework
Badge System Rework: DnD fixes, visual feedback, dynamic slots
2026-04-08 12:45:50 +02:00
duckietm 3ae51eb5e6 🆙 Fix chatbar for mobile 2026-04-08 12:44:59 +02:00
Lorenzune f12b43ca92 Merge remote-tracking branch 'upstream/main' into merge/duckietm-main-20260407 2026-04-07 15:28:04 +02:00
Lorenzune 954e477e47 feat: add builders club catalog ui flow 2026-04-07 14:40:51 +02:00
DuckieTM 93b38316fa 🆙 Gifts 2026-04-05 09:42:00 +02:00
Life 0b033742d0 Fix badge notification: single bubble, working Wear button
Block NotificationDialogMessageEvent badge types to prevent duplicate
bubbles. Wrap bubble content in stopPropagation div so button clicks
don't close the notification before toggleBadge runs. Request badge
data on mount so Wear works even if inventory was never opened.
2026-04-04 21:25:46 +02:00
Life bc6a33a3ba Deduplicate badge notifications from Achievement and BadgeReceived events
Both events fire for the same badge, causing two notifications. Track
recently notified badge codes in a Set so only the first event shows
the notification bubble, the second is silently skipped.
2026-04-04 21:25:45 +02:00
Life c9e7461714 Dynamic badge slots from config, double-click remove, direct wear from toast
Read user.badges.max.slots from config instead of hardcoded 5. InfoStand
layout adapts: 5 slots shows group badge, 6 slots replaces group with
6th badge. Double-click on InfoStand badge removes it. Badge received
toast now directly equips the badge via toggleBadge and closes.
2026-04-04 21:25:45 +02:00