fix: Update map with tables fixes
This commit is contained in:
		@@ -1,22 +1,30 @@
 | 
			
		||||
import { DataGrid, GridColDef, GridRenderCellParams } from "@mui/x-data-grid";
 | 
			
		||||
import { ruRU } from "@mui/x-data-grid/locales";
 | 
			
		||||
import { countryStore, languageStore } from "@shared";
 | 
			
		||||
import { useEffect, useState } from "react";
 | 
			
		||||
import { observer } from "mobx-react-lite";
 | 
			
		||||
import { Pencil, Trash2, Minus } from "lucide-react";
 | 
			
		||||
import { useNavigate } from "react-router-dom";
 | 
			
		||||
import { Trash2, Minus } from "lucide-react";
 | 
			
		||||
 | 
			
		||||
import { CreateButton, DeleteModal, LanguageSwitcher } from "@widgets";
 | 
			
		||||
import { Box, CircularProgress } from "@mui/material";
 | 
			
		||||
 | 
			
		||||
export const CountryListPage = observer(() => {
 | 
			
		||||
  const { countries, getCountries, deleteCountry } = countryStore;
 | 
			
		||||
  const navigate = useNavigate();
 | 
			
		||||
 | 
			
		||||
  const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
 | 
			
		||||
  const [isBulkDeleteModalOpen, setIsBulkDeleteModalOpen] = useState(false);
 | 
			
		||||
  const [rowId, setRowId] = useState<string | null>(null);
 | 
			
		||||
  const [ids, setIds] = useState<number[]>([]);
 | 
			
		||||
  const [isLoading, setIsLoading] = useState(false);
 | 
			
		||||
  const { language } = languageStore;
 | 
			
		||||
 | 
			
		||||
  useEffect(() => {
 | 
			
		||||
    getCountries(language);
 | 
			
		||||
    const fetchCountries = async () => {
 | 
			
		||||
      setIsLoading(true);
 | 
			
		||||
      await getCountries(language);
 | 
			
		||||
      setIsLoading(false);
 | 
			
		||||
    };
 | 
			
		||||
    fetchCountries();
 | 
			
		||||
  }, [language]);
 | 
			
		||||
 | 
			
		||||
  const columns: GridColDef[] = [
 | 
			
		||||
@@ -45,11 +53,11 @@ export const CountryListPage = observer(() => {
 | 
			
		||||
      renderCell: (params: GridRenderCellParams) => {
 | 
			
		||||
        return (
 | 
			
		||||
          <div className="flex h-full gap-7 justify-center items-center">
 | 
			
		||||
            <button
 | 
			
		||||
            {/* <button
 | 
			
		||||
              onClick={() => navigate(`/country/${params.row.code}/edit`)}
 | 
			
		||||
            >
 | 
			
		||||
              <Pencil size={20} className="text-blue-500" />
 | 
			
		||||
            </button>
 | 
			
		||||
            </button> */}
 | 
			
		||||
            {/* <button onClick={() => navigate(`/country/${params.row.code}`)}>
 | 
			
		||||
              <Eye size={20} className="text-green-500" />
 | 
			
		||||
            </button> */}
 | 
			
		||||
@@ -81,7 +89,7 @@ export const CountryListPage = observer(() => {
 | 
			
		||||
      <div className="w-full">
 | 
			
		||||
        <div className="flex justify-between items-center mb-10">
 | 
			
		||||
          <h1 className="text-2xl">Страны</h1>
 | 
			
		||||
          <CreateButton label="Создать страну" path="/country/create" />
 | 
			
		||||
          <CreateButton label="Добавить страну" path="/country/add" />
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div
 | 
			
		||||
@@ -98,14 +106,22 @@ export const CountryListPage = observer(() => {
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <DataGrid
 | 
			
		||||
          rows={rows}
 | 
			
		||||
          rows={rows || []}
 | 
			
		||||
          columns={columns}
 | 
			
		||||
          hideFooter
 | 
			
		||||
          checkboxSelection
 | 
			
		||||
          loading={isLoading}
 | 
			
		||||
          localeText={ruRU.components.MuiDataGrid.defaultProps.localeText}
 | 
			
		||||
          onRowSelectionModelChange={(newSelection) => {
 | 
			
		||||
            console.log(newSelection);
 | 
			
		||||
            setIds(Array.from(newSelection.ids as unknown as number[]));
 | 
			
		||||
          }}
 | 
			
		||||
          slots={{
 | 
			
		||||
            noRowsOverlay: () => (
 | 
			
		||||
              <Box sx={{ mt: 5, textAlign: "center", color: "text.secondary" }}>
 | 
			
		||||
                {isLoading ? <CircularProgress size={20} /> : "Нет стран"}
 | 
			
		||||
              </Box>
 | 
			
		||||
            ),
 | 
			
		||||
          }}
 | 
			
		||||
        />
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user