Full-featured sales campaign dashboard replacing Looker Studio with responsive Next.js app. Includes Executive Overview, Account Explorer with priority algorithm, Activities with detail overlay, Pipeline/Opps with deal panels, Implementation tracking, and Data Admin with CSV import and CRUD operations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
27 lines
698 B
TypeScript
27 lines
698 B
TypeScript
'use client';
|
|
|
|
import { ReactNode } from 'react';
|
|
|
|
interface ChartCardProps {
|
|
title: string;
|
|
subtitle?: string;
|
|
children: ReactNode;
|
|
className?: string;
|
|
action?: ReactNode;
|
|
}
|
|
|
|
export function ChartCard({ title, subtitle, children, className = '', action }: ChartCardProps) {
|
|
return (
|
|
<div className={`bg-card-bg rounded-xl border border-card-border p-5 ${className}`}>
|
|
<div className="flex items-start justify-between mb-4">
|
|
<div>
|
|
<h3 className="text-sm font-semibold text-foreground">{title}</h3>
|
|
{subtitle && <p className="text-xs text-muted mt-0.5">{subtitle}</p>}
|
|
</div>
|
|
{action}
|
|
</div>
|
|
{children}
|
|
</div>
|
|
);
|
|
}
|