Commit Graph

719 Commits

Author SHA1 Message Date
simoleo89 f84103d18f Merge remote-tracking branch 'fork/main' into feat/messenger-groups-receipts 2026-06-02 22:11:18 +02:00
simoleo89 dd7d504be2 Merge remote-tracking branch 'origin/Dev' into feat/messenger-groups-receipts
# Conflicts:
#	public/configuration/UITexts.example
#	src/css/friends/FriendsView.css
2026-06-02 21:52:59 +02:00
simoleo89 dc7012794e fix(messenger): send typing-stop to peer when switching conversations 2026-06-02 21:25:21 +02:00
simoleo89 7d89ce14d0 feat(messenger): send typing status + show 'is typing' indicator 2026-06-02 21:15:53 +02:00
simoleo89 361ab27853 feat(messenger): incoming typing state + outgoing typing action 2026-06-02 21:11:03 +02:00
Life 7b69fb3df0 Merge branch 'main' into feat/command-autocomplete-refactor 2026-06-02 20:55:28 +02:00
simoleo89 8ae48005f3 fix(messenger): reliably send mark-read on thread focus via latest-value ref 2026-06-02 20:37:20 +02:00
simoleo89 775e8b27af feat(messenger): render sent/read checkmarks on own messages 2026-06-02 20:25:03 +02:00
simoleo89 ef60aa8ebd feat(messenger): send mark-read on focus, mark own messages read on receipt 2026-06-02 20:19:38 +02:00
simoleo89 f5e179f6c9 feat(messenger): SENT/READ status on thread chats + mark-read helper 2026-06-02 20:16:08 +02:00
simoleo89 db050b99e7 feat(messenger): show 'sent while offline' marker in thread 2026-06-02 19:11:05 +02:00
simoleo89 83140de98b feat(messenger): offlineDelivered flag on thread chat 2026-06-02 19:07:56 +02:00
Life fd126a3d2c Merge branch 'duckietm:main' into feat/command-autocomplete-refactor 2026-06-02 18:38:47 +02:00
simoleo89 f506b83387 feat(chat): improve command autocomplete and command alerts 2026-06-02 18:34:50 +02:00
simoleo89 9441847818 style(friends): group chips, category manager, assign-group dropdown 2026-06-02 18:32:01 +02:00
simoleo89 1af038806b feat(chat): improve command autocomplete and command alerts 2026-06-02 18:31:49 +02:00
simoleo89 2291d3cfa8 feat(friends): per-friend assign-to-group control 2026-06-02 18:26:44 +02:00
simoleo89 860ec07dfd feat(friends): group chip-filter row over online/offline list + manager wiring 2026-06-02 18:20:31 +02:00
simoleo89 7913952f71 fix(friends): reset stale edit state on category refresh + localize manager labels where keys exist 2026-06-02 18:12:53 +02:00
simoleo89 39bcfdb0cd feat(friends): category manager modal (create/rename/delete groups) 2026-06-02 18:07:40 +02:00
duckietm 03066abf54 🆙 Updated Group buy 2026-06-02 18:01:45 +02:00
simoleo89 5be38e7df3 feat(friends): category CRUD + assign actions in friends store 2026-06-02 17:59:13 +02:00
simoleo89 f9320b4582 feat(friends): pure category filter + count helpers 2026-06-02 17:54:30 +02:00
duckietm 9900bc8aaa 🆙 Small fix for the room link 2026-06-02 15:33:48 +02:00
duckietm c9ac6806dd 🆙 Updated infostand & userpofile now mobile friendly and cards as background 2026-06-02 15:12:51 +02:00
simoleo89 c576c6185a feat(mentions): use dedicated mention chime sample 2026-06-02 15:04:12 +02:00
simoleo89 2d126a7b9a feat(mentions): wire Remove action to server-side delete packet 2026-06-02 15:04:12 +02:00
simoleo89 49d3bde50a feat(mentions): richer inbox — filters, date groups, type badge, relative time, per-row actions, highlighted preview 2026-06-02 15:04:12 +02:00
simoleo89 22e28a31ab feat(mentions): highlight own mentions inside room chat bubbles 2026-06-02 15:04:12 +02:00
simoleo89 cdabdedfbf feat(mentions): dedicated toolbar icon sprite 2026-06-02 15:04:11 +02:00
simoleo89 c1085aa4b1 fix(mentions): add en/nl translations for mention strings 2026-06-02 15:04:11 +02:00
simoleo89 c67c90d4c1 feat(mentions): inbox window, toolbar badge, chat-history tab, ui-config + i18n 2026-06-02 15:04:11 +02:00
simoleo89 afb8100300 feat(mentions): client api types, store, snapshot + message hooks 2026-06-02 15:04:11 +02:00
duckietm 76ec66932b 🆙 Small fix User Settings 2026-06-02 12:56:48 +02:00
duckietm d73f51f61a 🆙 Update Texts 2026-06-02 12:04:39 +02:00
duckietm f98f8ff0bc Merge branch 'Dev' of https://github.com/duckietm/Nitro-V3 into Dev 2026-06-02 10:25:35 +02:00
duckietm ef23526bf7 🆙 Fix avatar in friends and profile 2026-06-02 10:25:33 +02:00
medievalshell 1b3744a891 Merge remote-tracking branch 'upstream/Dev' into Dev 2026-06-01 19:33:49 +02:00
duckietm 827c17dc8b 🆙 Small fix toolbar 2026-06-01 14:44:33 +02:00
duckietm f45e2c3ada 🆙 More mobile optimizeing for catalog 2026-06-01 08:20:26 +02:00
medievalshell 5a437b7eda feat(fortune-wheel): add wheel-card and wheel-slice-icon class hooks
Lets a runtime theme scope the wheel card background and scale the slice
prize icons without touching defaults (the hooks add no styles on their own).
2026-05-31 17:28:46 +02:00
medievalshell dc5b1e694d feat(fortune-wheel): expose wheel colors as CSS custom properties
The slice/rim/divider/hub colors are now read from --wheel-* CSS variables
with the current values as fallbacks, so the stock look is unchanged while a
runtime theme can recolor the wheel without rebuilding.
2026-05-31 17:16:23 +02:00
DuckieTM 67d53fde3a Merge pull request #181 from simoleo89/feat/fortune-wheel-improvements
feat(fortune-wheel): celebration reveal, spin animation & prize editor add/remove
2026-05-31 15:44:42 +02:00
DuckieTM c6a1ab9c9a Merge pull request #180 from simoleo89/feat/radio-ui-config-toggle
feat(radio): make the radio widget toggleable from ui-config
2026-05-31 15:44:22 +02:00
DuckieTM 7e0d70a7e6 Merge branch 'Dev' into Dev 2026-05-31 15:43:52 +02:00
medievalshell 8097344561 feat(theme): runtime custom theme ecosystem (graphics-only)
Runtime-loaded visual re-skin system (no client rebuild, real themes never
hit git). A theme = a folder on the server (theme.base.url) with a manifest +
CSS "pieces"; each piece is toggled from Settings > Themes (checkboxes). A
broken/404 piece auto-falls back to the default (per piece). Hotel-wide default
via ui-config theme.default (+ theme.default.pieces), per-user override in
localStorage (same pattern as the catalog style toggle).

- api/theme/ThemeManager: fetch index/manifest + inject/remove <link> + fallback
- hooks/theme/useThemes: state + persist + default-from-config + live apply
- components/theme/ThemeApplier: applies on boot (mounted in MainView)
- UserSettings: General/Themes tabs with theme selector + per-piece checkboxes
- custom-themes/: reference template (demo theme "Neon Viola" + README)
- .gitignore: public/custom-themes/ (real themes are never committed)
2026-05-31 14:39:59 +02:00
Life f25b103101 Always render RadioView in MainView component 2026-05-31 11:26:11 +02:00
simoleo89 ccebcad8a8 feat(fortune-wheel): celebration reveal, spin animation, prize editor add/remove
Player experience:
- Tiered win celebration overlay (WheelWinReveal): quiet message for the
  "nothing" slice, lighter reveal for common prizes, full confetti +
  jackpot glow for rare ones. Rarity classified client-side by type +
  amount (wheelPrizeTier), shared icon rendering (wheelPrizeIcon).
- Three-phase spin motion (wind-back -> overshoot -> settle) with a
  reduced-motion fast path; responsive wheel scaling via ResizeObserver.

Reveal-timing fix:
- The server pushes the refreshed winners list (which already contains the
  just-won prize) the instant it answers the spin, ~5s before the wheel
  stops. useFortuneWheel now buffers that update mid-spin and flushes it in
  finishSpin so the prize is no longer spoiled in the winners panel.
- handleTransitionEnd only reacts to the wheel's own transform transition,
  so a child icon's bubbling transitionend can't advance the spin phase
  machine early.

Prize editor (admin):
- Add/Remove prize buttons in FortuneWheelSettingsView. New rows carry a
  negative temp id collapsed to 0 on the wire (server inserts); removed rows
  are simply omitted (server soft-disables). Requires the matching emulator
  change to WheelManager.savePrize / WheelAdminSavePrizesEvent.

i18n: wheel.win.* and rarevalues.editor.add/remove in en/it/nl.
2026-05-31 10:47:51 +02:00
simoleo89 a33bbb3448 feat(radio): make the radio widget toggleable from ui-config
Move the radio on/off switch out of renderer-config (where it sat next
to asset/data URLs) into ui-config, alongside the other UI feature
toggles (game.center.enabled, guides.enabled, …) — the natural home for
a widget switch — and rename it to the dotted convention `radio_ui.enabled`.

The MainView gate now defaults to `false`, so the radio is opt-in: an
absent key keeps it hidden; set `"radio_ui.enabled": true` in ui-config
to show it. The radio.url data source stays in renderer-config.
2026-05-31 09:34:25 +02:00
simoleo89 c9df2d8765 style(navigator): unify room-settings tabs with section cards
Introduce a reusable NavigatorRoomSettingsSectionView card (rounded
bg-gray-100 panel with a bold-small title) and apply it across the
Access, VIP/Chat, Moderation and Rights tabs so every room-settings
screen matches the Base and Misc tab styling. Pure visual restyle —
handleChange wiring, events, composers and validations are unchanged.
2026-05-31 09:20:35 +02:00