diff --git a/apps/web/src/components/dashboard/DashboardClient.tsx b/apps/web/src/components/dashboard/DashboardClient.tsx index 13154b7..ac02a50 100644 --- a/apps/web/src/components/dashboard/DashboardClient.tsx +++ b/apps/web/src/components/dashboard/DashboardClient.tsx @@ -157,6 +157,7 @@ export function DashboardClient() {
removeWidget(widget.id)} > {renderWidget(widget.type, widget.config, (update) => diff --git a/apps/web/src/components/dashboard/WidgetContainer.tsx b/apps/web/src/components/dashboard/WidgetContainer.tsx index 91de87c..02e70ef 100644 --- a/apps/web/src/components/dashboard/WidgetContainer.tsx +++ b/apps/web/src/components/dashboard/WidgetContainer.tsx @@ -4,31 +4,54 @@ import { motion } from "framer-motion"; interface WidgetContainerProps { title: string; + description?: string; onRemove: () => void; children: React.ReactNode; isDragging?: boolean; } -export function WidgetContainer({ title, onRemove, children, isDragging }: WidgetContainerProps) { +export function WidgetContainer({ title, description, onRemove, children, isDragging }: WidgetContainerProps) { return ( - {/* Header */} -
- {title} + {/* Header — clean, no background separation */} +
+
+
+ {/* Drag grip dots */} + + + + + + + + + {title} +
+ {description && ( +

{description}

+ )} +
+ {/* Subtle separator */} +
+ {/* Body */}
{children}