import { useState } from 'react'; const API_BASE = 'http://localhost:8000'; const PostModal = ({ onClose, onRefresh }) => { const [username, setUsername] = useState(''); const [content, setContent] = useState(''); const [loading, setLoading] = useState(false); const [error, setError] = useState(''); const handleSubmit = async (e) => { e.preventDefault(); setLoading(true); setError(''); if (!username || !content) { setError('Username and content are required.'); setLoading(false); return; } try { const response = await fetch(`${API_BASE}/posts`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ username: username.trim(), content: content.trim(), }), }); if (!response.ok) { throw new Error('Failed to create post'); } await response.json(); // Clear form and close modal setUsername(''); setContent(''); onClose(); // Refresh posts list if callback provided if (onRefresh) { onRefresh(); } } catch { setError('Failed to create post. Please try again.'); } finally { setLoading(false); } }; return (