import { DataGrid, GridColDef, GridRenderCellParams } from "@mui/x-data-grid"; import { languageStore, sightsStore } from "@shared"; import { useEffect, useState } from "react"; import { observer } from "mobx-react-lite"; import { Pencil, Trash2 } from "lucide-react"; import { useNavigate } from "react-router-dom"; import { DeleteModal, LanguageSwitcher } from "@widgets"; export const SightListPage = observer(() => { const { sights, getSights, deleteListSight } = sightsStore; const navigate = useNavigate(); const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false); const [rowId, setRowId] = useState(null); // Lifted state const { language } = languageStore; useEffect(() => { getSights(); }, [language]); const columns: GridColDef[] = [ { field: "name", headerName: "Имя", flex: 1, }, { field: "city", headerName: "Город", flex: 1, }, { field: "actions", headerName: "Действия", align: "center", headerAlign: "center", renderCell: (params: GridRenderCellParams) => { return (
{/* */}
); }, }, ]; const rows = sights.map((sight) => ({ id: sight.id, name: sight.name, city: sight.city, })); return ( <>
{ if (rowId) { await deleteListSight(Number(rowId)); } setIsDeleteModalOpen(false); setRowId(null); }} onCancel={() => { setIsDeleteModalOpen(false); setRowId(null); }} /> ); });