// src/App.tsx (نسخه یکپارچه و نهایی) import React, { useEffect, useRef, useState, FC } from "react"; import './App.scss'; // AppContext را از مسیر درست ایمپورت می‌کنیم import { AppProvider, useAppContext, PersonalityType, PersonalityInstructions } from "./contexts/AppContext"; import ControlTray from "./components/control-tray/ControlTray"; import { IOSModal } from "./components/ios-modal/IOSModal"; import { isIOS } from "./lib/platform"; import cn from "classnames"; import Logo from "./components/logo/Logo"; import { LiveConfig } from "./multimodal-live-types"; // =================================================================== // START: کامپوننت مودال مستقیماً اینجا تعریف شده است // =================================================================== interface CustomModalProps { isOpen: boolean; onClose: () => void; onSave: (name: string, instructions: string) => void; initialName: string; initialInstructions: string; } const CustomModal: FC = ({ isOpen, onClose, onSave, initialName, initialInstructions }) => { const [name, setName] = useState(initialName); const [instructions, setInstructions] = useState(initialInstructions); useEffect(() => { if (isOpen) { setName(initialName); setInstructions(initialInstructions); } }, [isOpen, initialName, initialInstructions]); if (!isOpen) return null; const handleSave = () => { if (name.trim() && instructions.trim()) { onSave(name.trim(), instructions.trim()); onClose(); } else { alert("لطفا نام و دستورالعمل‌ها را وارد کنید."); } }; return (
e.stopPropagation()}>

ساخت شخصیت اختصاصی

setName(e.target.value)} />