import { ChevronDown, Trash2, X, Plus, Sparkles } from "lucide-react"; const initialRows = [ // Row 1 (2 cards) { id: "row-1", widgets: [ { id: "w1", title: "TFM Requests · Monthly", type: "report.widget" }, { id: "w2", title: "Recent Activity", type: "report.widget" }, ], }, // Row 2 (2 cards) { id: "row-2", widgets: [ { id: "w3", title: "Schedule Performance", type: "report.widget" }, { id: "w4", title: "Energy · Today", type: "report.widget" }, ], }, // Row 3 (3 cards) { id: "row-3", widgets: [ { id: "w5", title: "Top 5 Requester", type: "report.widget" }, { id: "w6", title: "Asset Register", type: "report.widget" }, { id: "w7", title: "PM Plan vs Started", type: "report.widget" }, ], }, ]; // Note the 'export default' keyword here: export default function DynamicDashboardPortal() { return (
{/* --- HEADER SECTION --- */}
PLATFORM DYNAMIC DASHBOARD

Dynamic dashboard

Design the dashboard each tenant's users land on in Operations. Arrange rows, drop in report widgets, then publish.

{/* Action Buttons */}
PUBLISHED
{/* --- CONTROL BAR: DESIGNING FOR TENANT --- */}
Designing for
3 rows · 7 widgets
{/* --- CANVAS GRID AREA --- */}
{initialRows.map((row) => (
{/* Delete Row Button */} {/* Row Widgets Layout */}
{row.widgets.map((widget) => (
{/* Widget Top Header */}

{widget.title}

{widget.type}

{/* Widget Placeholder Bar Chart */}
))}
))}
{/* --- BOTTOM ADD ROW CONTROLS --- */}
Add row:
); }