diff --git a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/playground/page-client.tsx b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/playground/page-client.tsx index 209ae95a0..f5374aa86 100644 --- a/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/playground/page-client.tsx +++ b/apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/playground/page-client.tsx @@ -536,6 +536,7 @@ export default function PageClient() { type: "text", icon: , name: "Display Name", + description: "The customer-facing name for this product.", value: "Widget Pro", readOnly: false, onUpdate: async () => { @@ -548,6 +549,7 @@ export default function PageClient() { type: "boolean", icon: , name: "Active", + description: "Controls whether this product can be purchased.", value: true, readOnly: false, trueLabel: "Yes", @@ -562,6 +564,7 @@ export default function PageClient() { type: "dropdown", icon: , name: "Category", + description: "Used to organize this product in the catalog.", value: "hardware", options: [ { value: "hardware", label: "Hardware" }, @@ -579,6 +582,7 @@ export default function PageClient() { type: "custom", icon: , name: "Price", + description: "Current base price before discounts.", children: $29.99, }, ]; @@ -591,6 +595,7 @@ export default function PageClient() { type: "custom-dropdown", icon: , name: "Custom Dropdown", + description: "A composed control with custom popover content.", triggerContent: Open custom panel, popoverContent:
Custom content
, disabled: false, @@ -600,6 +605,7 @@ export default function PageClient() { type: "custom-button", icon: , name: "Custom Button", + description: "Runs a custom action with built-in loading behavior.", onClick: () => setGridActionLog("Clicked custom button"), children: Run action, disabled: false, @@ -1082,28 +1088,28 @@ export default function PageClient() { if (selected === "editable-grid") { return (
-
+
{ - await new Promise((r) => setTimeout(r, 400)); - setGridActionLog("Saved deferred changes"); - setGridHasChanges(false); - } : undefined} + items={editableItems} onDiscard={gridDeferredSave ? () => { setGridActionLog("Discarded deferred changes"); setGridHasChanges(false); } : undefined} - externalModifiedKeys={gridShowModified ? new Set(["display-name", "category"]) : undefined} + onSave={gridDeferredSave ? async () => { + await new Promise((resolve) => setTimeout(resolve, 400)); + setGridActionLog("Saved deferred changes"); + setGridHasChanges(false); + } : undefined} + size={gridSize} /> {gridActionLog && ( - + Last action: {gridActionLog} )}