import { useTranslation } from 'react-i18next';
import { Button, Card, CardActions, CardContent, CircularProgress, Stack, Typography } from '@mui/material';
import EditIcon from '@mui/icons-material/Edit';
import DeleteIcon from '@mui/icons-material/Delete';
import { useDeleteVisitMutation, useVisitsQuery } from '../hooks/useVisitQueries';
import type { Visit } from '../types';
interface VisitListProps {
onEdit: (visit: Visit) => void;
}
export function VisitList({ onEdit }: VisitListProps) {
const { data: visits = [], isLoading } = useVisitsQuery();
const deleteMutation = useDeleteVisitMutation();
const { t } = useTranslation();
if (isLoading) {
return (
{t('list.loading')}
);
}
if (!visits.length) {
return (
{t('list.empty')}
);
}
return (
{visits.map((visit) => (
{visit.location.country}
{visit.location.city ? ` · ${visit.location.city}` : ''}
{visit.date.start}
{visit.date.end ? ` — ${visit.date.end}` : ''}
{visit.notes ? (
{visit.notes}
) : null}
} size="small" onClick={() => onEdit(visit)}>
{t('list.edit')}
}
size="small"
color="error"
onClick={() => deleteMutation.mutate(visit.id)}
>
{t('list.delete')}
))}
);
}