import { useState, useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import api from '../api'; import './MyMessages.css'; function MyMessages() { const [messages, setMessages] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(''); const [selectedMessage, setSelectedMessage] = useState(null); const navigate = useNavigate(); useEffect(() => { fetchMessages(); }, []); const fetchMessages = async () => { try { const token = localStorage.getItem('token'); if (!token) { navigate('/login'); return; } const response = await api.get('/my-messages'); setMessages(response.data); setLoading(false); } catch (err) { console.error('Error fetching messages:', err); setError('Failed to load messages'); setLoading(false); if (err.response?.status === 401) { navigate('/login'); } } }; const getStatusColor = (status) => { const colors = { new: '#3b82f6', read: '#f59e0b', replied: '#10b981', }; return colors[status] || '#6b7280'; }; const formatDate = (dateString) => { return new Date(dateString).toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit', }); }; if (loading) { return
View your contact messages and admin responses
You haven't sent any contact messages yet.
Sent on {formatDate(message.created_at)}
{message.message}
{message.admin_notes}
⏳ Waiting for admin response...