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.open}
Open Items
{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.open}
Open Items
{dim.completed}
Completed Items
)}
); })}
); return (
{/* Content */}
); }; export default ExecutiveDashboard;