import React from 'react'; import { Scenario } from '../types'; import { Mic, MessageSquare, Trash2 } from 'lucide-react'; import Tooltip from './Tooltip'; import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from './ui/card'; import { Button } from './ui/button'; import { Badge } from './ui/badge'; interface ScenarioCardProps { scenario: Scenario; onSelect: (scenario: Scenario, mode: 'text' | 'voice') => void; onDelete?: (id: string) => void; } const ScenarioCard: React.FC = ({ scenario, onSelect, onDelete }) => { const getDifficultyVariant = (diff: string): "default" | "secondary" | "destructive" | "outline" => { switch (diff) { case 'Beginner': return 'default'; case 'Intermediate': return 'secondary'; case 'Advanced': return 'destructive'; default: return 'outline'; } }; const difficultyExplanations: Record = { 'Beginner': 'Low-stakes environment with highly structured feedback and clear cognitive distortions.', 'Intermediate': 'Moderate social friction requiring nuanced responses and identifying subtle distortions.', 'Advanced': 'High-trigger environment with resistant AI personas to test deep emotional regulation.' }; return ( {onDelete && ( )}
{scenario.difficulty}
{!onDelete && ( {scenario.category} )}
{scenario.title} {scenario.description}
{scenario.cbtFocus.map(focus => ( {focus} ))}
); }; export default React.memo(ScenarioCard);