import { useState, useEffect, useMemo } from 'react'; import { useParams, useNavigate, Link } from 'react-router-dom'; import { formatDate } from '../utils/dateFormatter'; import { useTrip } from '../hooks/useTrip'; import PlannablesList from './plannables/PlannablesList'; import './TripDetail.css'; const TripDetail = () => { const { id } = useParams(); const navigate = useNavigate(); const [trip, setTrip] = useState(null); const { fetchTrip, loading, error } = useTrip(); useEffect(() => { const loadTrip = async () => { try { const tripData = await fetchTrip(id); setTrip(tripData); } catch (err) { console.error('Error loading trip:', err); } }; loadTrip(); }, [id, fetchTrip]); // Memoize trip dates display to prevent unnecessary re-renders const tripDatesDisplay = useMemo(() => { if (!trip) return null; return (
Loading trip details...
{error}
Back to Dashboard{trip.description}
)} {tripDatesDisplay}Calendar view will be implemented here in the future