import React, { useState, useMemo } from 'react';
import type { ActionPlan, PlanCategory } from '../types';
import { DocumentIcon } from './icons/DocumentIcon';
import { MedicalIcon } from './icons/MedicalIcon';
import { WorkIcon } from './icons/WorkIcon';
import { CheckIcon } from './icons/CheckIcon';
interface ActionPlanProps {
plan: ActionPlan;
onToggleItem: (categoryIndex: number, itemIndex: number) => void;
onReset: () => void;
}
const getCategoryIcon = (categoryName: string): React.ReactNode => {
const lowerCaseName = categoryName.toLowerCase();
if (lowerCaseName.includes('medical')) return ;
if (lowerCaseName.includes('work')) return ;
return ;
};
const CategoryCard: React.FC<{ category: PlanCategory, categoryIndex: number, onToggleItem: (catIdx: number, itemIdx: number) => void }> = ({ category, categoryIndex, onToggleItem }) => {
const [isExpanded, setIsExpanded] = useState(true);
const completedItems = useMemo(() => category.items.filter(item => item.status === 'Completed').length, [category.items]);
const totalItems = category.items.length;
const progress = totalItems > 0 ? (completedItems / totalItems) * 100 : 0;
return (
{isExpanded && (
{category.items.map((item, itemIndex) => (
-
{item.item}
{item.description}
))}
)}
);
};
export const ActionPlanComponent: React.FC = ({ plan, onToggleItem, onReset }) => {
return (
{plan.title}
{plan.summary}
{plan.categories.map((category, index) => (
))}
);
};