import React, { useState, useEffect } from 'react'; import { useParams, useNavigate } from 'react-router-dom'; import axios from 'axios'; import './CaseDetail.css'; const CaseDetail = () => { const { id } = useParams(); const navigate = useNavigate(); const [caseData, setCase] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { fetchCase(); }, [id]); const fetchCase = async () => { setLoading(true); try { const response = await axios.get(`/api/v1/cases/${id}`); setCase(response.data); setError(null); } catch (err) { setError('Ошибка загрузки карточки'); console.error(err); } finally { setLoading(false); } }; const formatDate = (dateString) => { if (!dateString) return 'Не указано'; return new Date(dateString).toLocaleString('ru-RU'); }; const getPsychotypeDescription = (psychotype) => { const descriptions = { 'explorer': { title: 'Исследователь', description: 'Активно исследует территорию, может уйти далеко от точки потери', searchTips: 'Расширенный радиус поиска, проверка интересных объектов' }, 'cautious': { title: 'Осторожный', description: 'Осторожен, держится знакомых мест', searchTips: 'Поиск вблизи точки потери, знакомые маршруты' }, 'passive': { title: 'Пассивный', description: 'Ждёт помощи, малоподвижен', searchTips: 'Тщательный осмотр укрытий, проверка мест для отдыха' }, 'panicker': { title: 'Паникёр', description: 'Паникует, может двигаться хаотично', searchTips: 'Проверка опасных мест, водоёмов, обрывов' } }; return descriptions[psychotype] || { title: psychotype, description: '', searchTips: '' }; }; if (loading) return
{psychotypeInfo.description}
{psychotypeInfo.searchTips}