import React, { useState } from 'react';
import { ChevronDown, ChevronRight, Target, Users, Building, Code, Shield, DollarSign, Briefcase, Heart, TrendingUp } from 'lucide-react';
const ExecutiveDashboard = () => {
const [expandedDimension, setExpandedDimension] = useState(null);
const data = {
strategy: { kpis: 6, open: 15, completed: 15, progress: 50 },
operational: {
sales: { kpis: 3, open: 5, completed: 3, progress: 38, icon: TrendingUp, shade: '#10B981' },
product: { kpis: 5, open: 19, completed: 5, progress: 21, icon: Target, shade: '#3B82F6' },
organization: { kpis: 5, open: 5, completed: 5, progress: 50, icon: Building, shade: '#8B5CF6' },
engineering: { kpis: 5, open: 28, completed: 4, progress: 13, icon: Code, shade: '#F59E0B' },
devops: { kpis: 3, open: 6, completed: 3, progress: 33, icon: Shield, shade: '#EF4444' },
cyber: { kpis: 6, open: 29, completed: 6, progress: 17, icon: Shield, shade: '#6B7280' },
finance: { kpis: 13, open: 3, completed: 13, progress: 81, icon: DollarSign, shade: '#059669' }
},
foundation: {
people: { kpis: 5, open: 7, completed: 5, progress: 42, icon: Users, shade: '#DC2626' },
culture: { kpis: 3, open: 2, completed: 3, progress: 60, icon: Heart, shade: '#7C3AED' }
}
};
const toggleDimension = (dimension) => {
setExpandedDimension(expandedDimension === dimension ? null : dimension);
};
const ProgressBar = ({ progress, shade = '#333333', height = '8px' }) => {
return (
);
};
const DetailedView = () => (
{/* Strategy Section */}
{expandedDimension === 'strategy' && (
{data.strategy.kpis}
Key Performance Indicators
{data.strategy.open}
Open Items
{data.strategy.completed}
Completed Items
)}
{/* All Operational Dimensions */}
{Object.entries(data.operational).map(([name, dim]) => {
const Icon = dim.icon;
const isExpanded = expandedDimension === name;
return (
{isExpanded && (
{dim.kpis}
Key Performance Indicators
{dim.completed}
Completed Items
)}
);
})}
{/* Foundation Dimensions */}
{Object.entries(data.foundation).map(([name, dim]) => {
const Icon = dim.icon;
const isExpanded = expandedDimension === name;
return (
{isExpanded && (
{dim.kpis}
Key Performance Indicators
{dim.completed}
Completed Items
)}
);
})}
);
return (
);
};
export default ExecutiveDashboard;