feat(catalog): add auto-category wizard with live preview and smart suggestions
- Add AutoCategoryDialog: pick furni (or empty page), suggest caption/icon/layout, live preview - Add createAutoCategory server action (page + offers in one export) with CatalogKind - Extend furni search API with interactionType - Share ShopTile and refactor inline-editor/items-shop-preview to use it - Add suggestion heuristics (suggestCategoryName/dIcon/layout) with tests - Add autoCategory translations (en/nl)
This commit is contained in:
1 parent
baeb54aeb5
commit
f832479e52
14 files changed
+2577
-567
No files matched your search
@@ -2157,6 +2157,47 @@
|
||||
"clubHint": "Restricts access to users with an HC subscription.",
|
||||
"yes": "Yes",
|
||||
"no": "No"
|
||||
},
|
||||
"preview": {
|
||||
"label": "Live catalog preview",
|
||||
"title": "Live preview",
|
||||
"on": "On",
|
||||
"off": "Off",
|
||||
"untitled": "Untitled page",
|
||||
"noItems": "No offers on this page yet",
|
||||
"items": "offer(s)",
|
||||
"disabledHint": "This page is disabled — players cannot see it.",
|
||||
"suggestedLayout": "Better layout suggested",
|
||||
"suggestedLayoutReason": "This page {reason}. Switch to “{layout}” to match players’ expectations.",
|
||||
"applyLayout": "Apply layout"
|
||||
},
|
||||
"autoCategory": {
|
||||
"title": "Auto-Category",
|
||||
"itemsBadge": "{count} items",
|
||||
"fromFurni": "From furni",
|
||||
"emptyPage": "Empty page",
|
||||
"searchPlaceholder": "Search furni by name or classname…",
|
||||
"noResults": "No results",
|
||||
"added": "Added",
|
||||
"price": "Price",
|
||||
"free": "Free",
|
||||
"setPrice": "Set a price",
|
||||
"credits": "Credits",
|
||||
"points": "Points",
|
||||
"pointsType": "Type",
|
||||
"parent": "Parent",
|
||||
"root": "Catalog root",
|
||||
"caption": "Caption",
|
||||
"captionPlaceholder": "e.g. Chairs, Wallpapers…",
|
||||
"icon": "Icon",
|
||||
"pickIcon": "Pick icon",
|
||||
"layout": "Layout",
|
||||
"suggestedLayout": "Suggested: {layout}",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"cancel": "Cancel",
|
||||
"create": "Create",
|
||||
"createWithItems": "Create ({count} items)"
|
||||
}
|
||||
},
|
||||
"bulk": {
|
||||
|
||||
@@ -1925,6 +1925,47 @@
|
||||
"clubHint": "Beperkt toegang tot gebruikers met een HC-abonnement.",
|
||||
"yes": "Ja",
|
||||
"no": "Nee"
|
||||
},
|
||||
"preview": {
|
||||
"label": "Live catalogusvoorbeeld",
|
||||
"title": "Live voorbeeld",
|
||||
"on": "Aan",
|
||||
"off": "Uit",
|
||||
"untitled": "Naamloze pagina",
|
||||
"noItems": "Nog geen aanbiedingen op deze pagina",
|
||||
"items": "aanbieding(en)",
|
||||
"disabledHint": "Deze pagina is uitgeschakeld — spelers zien haar niet.",
|
||||
"suggestedLayout": "Betere indeling voorgesteld",
|
||||
"suggestedLayoutReason": "Deze pagina {reason}. Schakel over naar “{layout}” zodat deze overeenkomt met wat spelers verwachten.",
|
||||
"applyLayout": "Indeling toepassen"
|
||||
},
|
||||
"autoCategory": {
|
||||
"title": "Auto-Categorie",
|
||||
"itemsBadge": "{count} items",
|
||||
"fromFurni": "Vanuit furni",
|
||||
"emptyPage": "Lege pagina",
|
||||
"searchPlaceholder": "Zoek furni op naam of classname…",
|
||||
"noResults": "Geen resultaten",
|
||||
"added": "Toegevoegd",
|
||||
"price": "Prijs",
|
||||
"free": "Gratis",
|
||||
"setPrice": "Stel een prijs in",
|
||||
"credits": "Credits",
|
||||
"points": "Punten",
|
||||
"pointsType": "Type",
|
||||
"parent": "Bovenliggende categorie",
|
||||
"root": "Catalogus-hoofdmap",
|
||||
"caption": "Naam",
|
||||
"captionPlaceholder": "bijv. Stoelen, Behang…",
|
||||
"icon": "Icoon",
|
||||
"pickIcon": "Kies icoon",
|
||||
"layout": "Indeling",
|
||||
"suggestedLayout": "Voorgesteld: {layout}",
|
||||
"enabled": "Ingeschakeld",
|
||||
"visible": "Zichtbaar",
|
||||
"cancel": "Annuleren",
|
||||
"create": "Aanmaken",
|
||||
"createWithItems": "Aanmaken ({count} items)"
|
||||
}
|
||||
},
|
||||
"bulk": {
|
||||
|
||||
Reference in new issue
Block a user