import React, { useState } from 'react'; import { messageAPI } from '../services/api'; import { User } from '../types'; interface MessageModalProps { show: boolean; onClose: () => void; recipient: User; onSuccess?: () => void; } const MessageModal: React.FC = ({ show, onClose, recipient, onSuccess }) => { const [content, setContent] = useState(''); const [sending, setSending] = useState(false); const [error, setError] = useState(null); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(null); setSending(true); try { await messageAPI.sendMessage({ receiverId: recipient.id, content, }); setContent(''); onClose(); if (onSuccess) { onSuccess(); } } catch (err: any) { setError(err.response?.data?.error || 'Failed to send message'); } finally { setSending(false); } }; if (!show) return null; return (
Send Message to {recipient.firstName} {recipient.lastName}
{error && (
{error}
)}
); }; export default MessageModal;