import Search from 'antd/es/input/Search' import styles from './produto.module.css'; import { Button, Popconfirm, Select, Space, Table } from 'antd' import Column from 'antd/es/table/Column' import { useDispatch, useSelector } from 'react-redux'; import { ParamsType } from '../../interfaces/ParamsType'; import { useEffect, useState } from 'react'; import { Produto } from '../../interfaces/Produto'; import { DeleteOutlined, EditOutlined, ShoppingCartOutlined } from '@ant-design/icons'; import { getAllProdutos, getAllCategoria, deleteProduto } from '../../slices/ProdutoSlice'; import { addItem } from '../../slices/CarrinhoSlice'; import { useNavigate } from 'react-router-dom'; import { ItemCart } from '../../interfaces/ItemCart'; function Produtos() { const [nomeSearch, setNomeSearch] = useState(''); const [categoriaFilter, setCategoriaFilter] = useState(''); const dispatch = useDispatch(); const navigate = useNavigate(); const { produtos, total, loading, categorias } = useSelector((state: any) => state.produto); const handleSearch = () => { const params: ParamsType = { pagination: { current: 1, pageSize: 5 }, filter: { nome: nomeSearch, categoria: categoriaFilter } } dispatch(getAllProdutos(params)); } const handleDelete = (uid: string) => { dispatch(deleteProduto(uid)); } const onChangePage = (page: any, size: any) => { const params: ParamsType = { pagination: { current: page, pageSize: size }, filter: { nome: nomeSearch != '' ? nomeSearch : '', categoria: categoriaFilter } } dispatch(getAllProdutos(params)); } const filterByCategoria = (categoriaUid: string) => { setCategoriaFilter(categoriaUid); const params: ParamsType = { pagination: { current: 1, pageSize: 5 }, filter: { nome: nomeSearch != '' ? nomeSearch : '', categoria: categoriaUid } } dispatch(getAllProdutos(params)) } const addItemCart = (produto: any) => { const item:ItemCart = { produto:{ uid:produto.key, nome:produto.name, preco:produto.preco, categoria:{ uid:"" } }, quantidade:1 } dispatch(addItem(item)); } useEffect(() => { dispatch(getAllProdutos( { pagination: { current: 1, pageSize: 5 } } )) dispatch(getAllCategoria()); }, []) return (