fix: Hot bug fix
This commit is contained in:
		@@ -10,7 +10,9 @@ 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 { language } = languageStore;
 | 
			
		||||
 | 
			
		||||
  useEffect(() => {
 | 
			
		||||
@@ -52,7 +54,8 @@ export const CountryListPage = observer(() => {
 | 
			
		||||
              <Eye size={20} className="text-green-500" />
 | 
			
		||||
            </button> */}
 | 
			
		||||
            <button
 | 
			
		||||
              onClick={() => {
 | 
			
		||||
              onClick={(e) => {
 | 
			
		||||
                e.stopPropagation();
 | 
			
		||||
                setIsDeleteModalOpen(true);
 | 
			
		||||
                setRowId(params.row.code);
 | 
			
		||||
              }}
 | 
			
		||||
@@ -80,14 +83,37 @@ export const CountryListPage = observer(() => {
 | 
			
		||||
          <h1 className="text-2xl">Страны</h1>
 | 
			
		||||
          <CreateButton label="Создать страну" path="/country/create" />
 | 
			
		||||
        </div>
 | 
			
		||||
        <DataGrid rows={rows} columns={columns} hideFooter />
 | 
			
		||||
 | 
			
		||||
        <div
 | 
			
		||||
          className="flex justify-end mb-5 duration-300"
 | 
			
		||||
          style={{ opacity: ids.length > 0 ? 1 : 0 }}
 | 
			
		||||
        >
 | 
			
		||||
          <button
 | 
			
		||||
            className="px-4 py-2 bg-red-500 text-white rounded flex gap-2 items-center"
 | 
			
		||||
            onClick={() => setIsBulkDeleteModalOpen(true)}
 | 
			
		||||
          >
 | 
			
		||||
            <Trash2 size={20} className="text-white" /> Удалить выбранные (
 | 
			
		||||
            {ids.length})
 | 
			
		||||
          </button>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <DataGrid
 | 
			
		||||
          rows={rows}
 | 
			
		||||
          columns={columns}
 | 
			
		||||
          hideFooter
 | 
			
		||||
          checkboxSelection
 | 
			
		||||
          onRowSelectionModelChange={(newSelection) => {
 | 
			
		||||
            console.log(newSelection);
 | 
			
		||||
            setIds(Array.from(newSelection.ids as unknown as number[]));
 | 
			
		||||
          }}
 | 
			
		||||
        />
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
      <DeleteModal
 | 
			
		||||
        open={isDeleteModalOpen}
 | 
			
		||||
        onDelete={async () => {
 | 
			
		||||
          if (!rowId) return;
 | 
			
		||||
          await deleteCountry(rowId, language);
 | 
			
		||||
          await deleteCountry(rowId);
 | 
			
		||||
          setRowId(null);
 | 
			
		||||
          setIsDeleteModalOpen(false);
 | 
			
		||||
        }}
 | 
			
		||||
@@ -96,6 +122,19 @@ export const CountryListPage = observer(() => {
 | 
			
		||||
          setIsDeleteModalOpen(false);
 | 
			
		||||
        }}
 | 
			
		||||
      />
 | 
			
		||||
 | 
			
		||||
      <DeleteModal
 | 
			
		||||
        open={isBulkDeleteModalOpen}
 | 
			
		||||
        onDelete={async () => {
 | 
			
		||||
          await Promise.all(ids.map((id) => deleteCountry(id.toString())));
 | 
			
		||||
          getCountries(language);
 | 
			
		||||
          setIsBulkDeleteModalOpen(false);
 | 
			
		||||
          setIds([]);
 | 
			
		||||
        }}
 | 
			
		||||
        onCancel={() => {
 | 
			
		||||
          setIsBulkDeleteModalOpen(false);
 | 
			
		||||
        }}
 | 
			
		||||
      />
 | 
			
		||||
    </>
 | 
			
		||||
  );
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user