import React, { useState, useEffect } from 'react'; import { SCENARIOS } from './constants'; import { Scenario, SessionMode, UserSettings } from './types'; import ScenarioCard from './components/ScenarioCard'; import ChatSession from './components/ChatSession'; import VoiceSession from './components/VoiceSession'; import ScenarioGenerator from './components/ScenarioGenerator'; import CBTReference from './components/CBTReference'; import SettingsModal from './components/SettingsModal'; import Tooltip from './components/Tooltip'; import { Brain, Info, ShieldCheck, Filter, Plus, BookOpen, Activity, Zap, Settings } from 'lucide-react'; const DEFAULT_SETTINGS: UserSettings = { voiceName: 'Zephyr', vocalStyle: 'Helpful', genderPreference: 'Neutral' }; const App: React.FC = () => { const [activeScenario, setActiveScenario] = useState(null); const [sessionMode, setSessionMode] = useState('text'); const [selectedDifficulty, setSelectedDifficulty] = useState('All'); const [isPreparing, setIsPreparing] = useState(false); // Custom Scenarios State const [customScenarios, setCustomScenarios] = useState([]); const [showGenerator, setShowGenerator] = useState(false); const [showReference, setShowReference] = useState(false); const [showSettings, setShowSettings] = useState(false); // User Settings State const [userSettings, setUserSettings] = useState(() => { const saved = localStorage.getItem('cognitive-clarity-settings'); return saved ? JSON.parse(saved) : DEFAULT_SETTINGS; }); useEffect(() => { localStorage.setItem('cognitive-clarity-settings', JSON.stringify(userSettings)); }, [userSettings]); const handleSelectScenario = (scenario: Scenario, mode: SessionMode) => { setIsPreparing(true); setTimeout(() => { setActiveScenario(scenario); setSessionMode(mode); setIsPreparing(false); }, 1400); }; const handleExitSession = () => { setActiveScenario(null); }; const handleScenarioGenerated = (newScenario: Scenario) => { setCustomScenarios(prev => [newScenario, ...prev]); setShowGenerator(false); }; const allScenarios = [...customScenarios, ...SCENARIOS]; const filteredScenarios = allScenarios.filter(scenario => selectedDifficulty === 'All' || scenario.difficulty === selectedDifficulty ); const difficulties = ['All', 'Beginner', 'Intermediate', 'Advanced']; if (isPreparing) { return (

Initializing Session

Calibrating AI Parameters

Configuring {sessionMode === 'voice' ? 'Voice Link' : 'Neural Chat Bridge'}

Applying {userSettings.voiceName} Vocal Profile

); } if (activeScenario) { return (
{sessionMode === 'text' ? ( ) : (
)}
); } return (
{/* Modals */} {showGenerator && setShowGenerator(false)} />} {showReference && setShowReference(false)} />} {showSettings && setShowSettings(false)} />} {/* Hero Section */}

Cognitive Clarity

An adaptive clinical training environment designed to strengthen cognitive flexibility and navigate social friction.

Evidence-Based Framework
Vocal Partner: {userSettings.voiceName}
{/* Main Content */}

Training Scenarios

Difficulty
{difficulties.map((diff) => ( ))}
{filteredScenarios.map(scenario => ( ))}
); }; export default App;