Commit Graph

934 Commits

Author SHA1 Message Date
simoleo89 08976f0ab4 fix(furni-editor): clearer search icon (was note-like)
The search-bar magnifier had a too-short handle relative to the lens, so
at 16px it read like a musical note. Use a proportioned lens + longer
handle so it reads unmistakably as a magnifying glass.
2026-06-06 17:42:43 +02:00
simoleo89 4570244b48 feat(furni-editor): modernize search/list view + live search + server sort
- Restyle to match the editor: slate palette, rounded card, search bar
  with icon + focus ring, teal filter chips, larger furni thumbnails,
  loading skeleton + empty state.
- Live search (350ms debounce) with clear button; filters/sort apply
  immediately.
- Pagination: first/prev/next/last + page-jump input + 'Showing X-Y of Z'
  (was Prev/Next only across 3002 pages).
- Header sort now queries the server (sortField/sortDir) instead of
  reordering only the 20 visible rows; useFurniEditor.searchItems passes
  the sort through.
2026-06-06 17:42:43 +02:00
simoleo89 310fa06db7 fix(furni-editor): render field tooltips in a portal (no clipping)
The Tip bubble was still clipped by the card's overflow-auto scroll
container when a section was scrolled near the viewport top. Render the
tooltip via createPortal to document.body with position:fixed computed
from the icon rect, so it escapes every overflow/transform ancestor.
2026-06-06 17:42:43 +02:00
simoleo89 63c41b4d5c fix(furni-editor): tooltips wrap + no longer clipped
Tip tooltips were whitespace-nowrap (one very wide line) and clipped by
the Section card's overflow-hidden. Bound the bubble width with wrapping
(w-44, whitespace-normal, centered) and drop overflow-hidden from Section
(keeping rounded corners via rounded-t/b-xl on the header) so long tips
like Custom Params render fully.
2026-06-06 17:42:43 +02:00
simoleo89 caeb24a603 fix(furni-editor): disable furnidata Save unless name/desc changed
Saving an unchanged name made the server writer return false, which the
handler misreports as 'Classname not found in furnidata'. Gate the
'Save name/desc' button on a real diff (furnidataDirty) so an unchanged
save can no longer fire that misleading error.
2026-06-06 17:42:43 +02:00
simoleo89 752badd361 feat(furni-editor): compact permissions + upgraded meta chips
- Merge the lone Inventory permission (allowInventoryStack) into the
  Gameplay group, dropping the separate Inventory header+row to save
  vertical space.
- Rework the header meta row: ID/Sprite as label+monospace-value pills,
  'in use' tinted green with a dot when placed instances exist (grey at
  0), 'Unsaved' as an amber pill with a dot.
2026-06-06 17:42:43 +02:00
simoleo89 071a7c9436 fix(furni-editor): guard name editing when furni has no furnidata entry
~1.4k items_base rows (pets, custom items) have no matching furnidata
classname, so saving their name returned the cryptic server error
'Classname not found in furnidata'. Detect this client-side via the
resolved furniDataEntry (entry + classname match) and, when absent,
hide the Display Name/Description inputs + Save behind a clear
'NO FURNIDATA' notice instead of letting the save fail. In-furnidata
furni (~97.6%) are unchanged.
2026-06-06 17:42:43 +02:00
simoleo89 9341970eed fix(furni-editor): green/red status dot on permission toggles
Replace the white/grey dot with a green (ON) / red (OFF) traffic-light
badge + a subtle ring so it reads on both the teal and grey chip
backgrounds.
2026-06-06 17:42:42 +02:00
simoleo89 d45a0fb8b0 feat(furni-editor): optimistically reflect mirrored public_name on save
The server now mirrors the furnidata display name into
items_base.public_name, so on updateFurnidata patch selectedItem.publicName
immediately; the auto detail re-fetch that follows agrees with the DB
value (no flicker). Not applied to revertFurnidata (revert restores the
previous DB name).
2026-06-06 17:42:42 +02:00
simoleo89 e988a5d8b0 fix(furni-editor): make permission toggles clearly show on/off state
Enabled chips now use a solid teal fill (bg-[#1E7295]) with white
text + a white status dot; disabled chips are muted grey with a grey
dot. The old bg-primary/10 + text-primary 'on' state was nearly
indistinguishable from 'off'. Adds aria-pressed + title for a11y.
2026-06-06 17:42:42 +02:00
simoleo89 8862041a4e fix(furni-editor): make confirm modals opaque (solid bg + alpha backdrop)
Replace bg-white/bg-black palette classes with explicit hex
(bg-[#ffffff] panel, bg-[#00000080] backdrop) so the Delete and
Furnidata confirm dialogs render solidly instead of letting editor
content bleed through; bump overlay z-index to z-[60].
2026-06-06 17:42:42 +02:00
simoleo89 13cfbd3cd8 feat(furni-editor): one-click copy on Basic Info read-only fields (CopyValue w/ copied feedback) 2026-06-06 17:42:42 +02:00
simoleo89 642e4f8eb7 fix(furni-editor): remove nested inner scroller so NitroCardContentView's styled scrollbar is restored 2026-06-06 17:42:42 +02:00
simoleo89 3e5ad58f0e style(furni-editor): space optimization — name+description side-by-side (2-col), tighter card/section padding, compact header 2026-06-06 17:42:42 +02:00
simoleo89 2ba0f5ea6f style(furni-editor): modern/sleek redesign — slate canvas, flat rounded-xl cards, clean header, toggle-chip permissions, teal as restrained accent 2026-06-06 17:42:42 +02:00
simoleo89 2d93fc9220 style(furni-editor): graphical reskin — teal hero header w/ big preview + dynamic name + chips, soft card sections, LIVE pulse on display-name card, page bg 2026-06-06 17:42:42 +02:00
simoleo89 02f549827c feat(furni-editor): make Sprite ID + Type read-only (all Basic Info now read-only) 2026-06-06 17:42:42 +02:00
simoleo89 a520fc73af style(furni-editor): move display-name edit to top + unify theme (neutral labels, matched selects, single teal accent) 2026-06-06 17:42:42 +02:00
simoleo89 0affad752c style(furni-editor): theme-token typography refresh (labels, inputs focus ring, mono read-only) 2026-06-06 17:42:41 +02:00
simoleo89 d7e294b343 feat(furni-editor): editable furnidata name/desc section + read-only classname/public_name + diff-confirm + revert 2026-06-06 17:42:41 +02:00
simoleo89 7e72e34088 feat(furni-editor): updateFurnidata/revertFurnidata hook actions 2026-06-06 17:42:41 +02:00
simoleo89 b35caf24f2 fix(furni-editor): clear CopyValue reset timer on unmount
Move the 'copied!' 1s reset into a useEffect with cleanup so the timer
can't fire setState after the component unmounts.
2026-06-06 15:48:19 +02:00
simoleo89 de922334b7 feat(furni-editor): 'Import from Habbo' button to fetch official texts
useFurniEditor gains importText(id) + importResult (10049 round-trip); the
edit view shows an 'Import from Habbo' button that fills Display Name/
Description with the official text for review before Save (nonce-guarded,
classname-matched), with an inline result note.
2026-06-06 15:26:24 +02:00
simoleo89 0d5af81838 fix(furni-editor): clearer search icon (was note-like)
The search-bar magnifier had a too-short handle relative to the lens, so
at 16px it read like a musical note. Use a proportioned lens + longer
handle so it reads unmistakably as a magnifying glass.
2026-06-06 15:16:06 +02:00
simoleo89 d699964542 feat(furni-editor): modernize search/list view + live search + server sort
- Restyle to match the editor: slate palette, rounded card, search bar
  with icon + focus ring, teal filter chips, larger furni thumbnails,
  loading skeleton + empty state.
- Live search (350ms debounce) with clear button; filters/sort apply
  immediately.
- Pagination: first/prev/next/last + page-jump input + 'Showing X-Y of Z'
  (was Prev/Next only across 3002 pages).
- Header sort now queries the server (sortField/sortDir) instead of
  reordering only the 20 visible rows; useFurniEditor.searchItems passes
  the sort through.
2026-06-06 15:08:47 +02:00
simoleo89 e44b828eaf fix(furni-editor): render field tooltips in a portal (no clipping)
The Tip bubble was still clipped by the card's overflow-auto scroll
container when a section was scrolled near the viewport top. Render the
tooltip via createPortal to document.body with position:fixed computed
from the icon rect, so it escapes every overflow/transform ancestor.
2026-06-06 15:00:36 +02:00
simoleo89 bf4e1d664f fix(furni-editor): tooltips wrap + no longer clipped
Tip tooltips were whitespace-nowrap (one very wide line) and clipped by
the Section card's overflow-hidden. Bound the bubble width with wrapping
(w-44, whitespace-normal, centered) and drop overflow-hidden from Section
(keeping rounded corners via rounded-t/b-xl on the header) so long tips
like Custom Params render fully.
2026-06-06 14:51:23 +02:00
simoleo89 5c3b5ede4e fix(furni-editor): disable furnidata Save unless name/desc changed
Saving an unchanged name made the server writer return false, which the
handler misreports as 'Classname not found in furnidata'. Gate the
'Save name/desc' button on a real diff (furnidataDirty) so an unchanged
save can no longer fire that misleading error.
2026-06-06 14:32:42 +02:00
simoleo89 16512c634b feat(furni-editor): compact permissions + upgraded meta chips
- Merge the lone Inventory permission (allowInventoryStack) into the
  Gameplay group, dropping the separate Inventory header+row to save
  vertical space.
- Rework the header meta row: ID/Sprite as label+monospace-value pills,
  'in use' tinted green with a dot when placed instances exist (grey at
  0), 'Unsaved' as an amber pill with a dot.
2026-06-06 14:21:43 +02:00
simoleo89 e982f50395 fix(furni-editor): guard name editing when furni has no furnidata entry
~1.4k items_base rows (pets, custom items) have no matching furnidata
classname, so saving their name returned the cryptic server error
'Classname not found in furnidata'. Detect this client-side via the
resolved furniDataEntry (entry + classname match) and, when absent,
hide the Display Name/Description inputs + Save behind a clear
'NO FURNIDATA' notice instead of letting the save fail. In-furnidata
furni (~97.6%) are unchanged.
2026-06-06 14:20:12 +02:00
simoleo89 c4ddd4bfc2 fix(furni-editor): green/red status dot on permission toggles
Replace the white/grey dot with a green (ON) / red (OFF) traffic-light
badge + a subtle ring so it reads on both the teal and grey chip
backgrounds.
2026-06-06 14:11:48 +02:00
simoleo89 7384a12b92 feat(furni-editor): optimistically reflect mirrored public_name on save
The server now mirrors the furnidata display name into
items_base.public_name, so on updateFurnidata patch selectedItem.publicName
immediately; the auto detail re-fetch that follows agrees with the DB
value (no flicker). Not applied to revertFurnidata (revert restores the
previous DB name).
2026-06-06 14:03:59 +02:00
simoleo89 ca937aa8cd fix(furni-editor): make permission toggles clearly show on/off state
Enabled chips now use a solid teal fill (bg-[#1E7295]) with white
text + a white status dot; disabled chips are muted grey with a grey
dot. The old bg-primary/10 + text-primary 'on' state was nearly
indistinguishable from 'off'. Adds aria-pressed + title for a11y.
2026-06-06 13:56:26 +02:00
simoleo89 82b0642b99 fix(furni-editor): make confirm modals opaque (solid bg + alpha backdrop)
Replace bg-white/bg-black palette classes with explicit hex
(bg-[#ffffff] panel, bg-[#00000080] backdrop) so the Delete and
Furnidata confirm dialogs render solidly instead of letting editor
content bleed through; bump overlay z-index to z-[60].
2026-06-06 13:54:22 +02:00
simoleo89 f0b6a29373 feat(furni-editor): one-click copy on Basic Info read-only fields (CopyValue w/ copied feedback) 2026-06-06 13:47:27 +02:00
simoleo89 c55672761c fix(furni-editor): remove nested inner scroller so NitroCardContentView's styled scrollbar is restored 2026-06-06 13:44:29 +02:00
simoleo89 f4eef9d1a4 style(furni-editor): space optimization — name+description side-by-side (2-col), tighter card/section padding, compact header 2026-06-06 13:35:53 +02:00
simoleo89 746c10b4a9 style(furni-editor): modern/sleek redesign — slate canvas, flat rounded-xl cards, clean header, toggle-chip permissions, teal as restrained accent 2026-06-06 13:32:00 +02:00
simoleo89 e292cc3758 style(furni-editor): graphical reskin — teal hero header w/ big preview + dynamic name + chips, soft card sections, LIVE pulse on display-name card, page bg 2026-06-06 13:26:15 +02:00
simoleo89 7526b8a169 feat(furni-editor): make Sprite ID + Type read-only (all Basic Info now read-only) 2026-06-06 13:08:19 +02:00
simoleo89 9831f662ef style(furni-editor): move display-name edit to top + unify theme (neutral labels, matched selects, single teal accent) 2026-06-06 13:02:56 +02:00
simoleo89 c09b748d06 style(furni-editor): theme-token typography refresh (labels, inputs focus ring, mono read-only) 2026-06-06 12:50:59 +02:00
DuckieTM 0a6aeafe11 🆙 Small visual updates 2026-06-06 11:35:02 +02:00
DuckieTM eee519c098 Merge pull request #202 from duckietm/Dev
🆙 Fixed the colorid
2026-06-06 08:49:51 +02:00
DuckieTM 816779a614 🆙 Fixed the colorid 2026-06-06 08:42:18 +02:00
DuckieTM 6313304a4b Merge pull request #201 from duckietm/Dev
🆙 Catalog & Inventory preview now to original
2026-06-06 08:11:29 +02:00
DuckieTM bf37aef9af 🆙 Catalog & Inventory preview now to original 2026-06-06 08:10:40 +02:00
DuckieTM f792c3d810 Merge pull request #200 from duckietm/Dev
🆙  typo
2026-06-06 07:24:48 +02:00
DuckieTM e91aa0c202 🆙 Added config for the mentions 2026-06-06 07:23:52 +02:00
DuckieTM 322a4f368c 🆙 Small update text 2026-06-06 07:10:26 +02:00