diff --git a/src/components/products/ProductTemplates.jsx b/src/components/products/ProductTemplates.jsx index 3e83d56..f95ca19 100644 --- a/src/components/products/ProductTemplates.jsx +++ b/src/components/products/ProductTemplates.jsx @@ -1,15 +1,17 @@ -import { useState } from 'react' -import { useQuery } from '@tanstack/react-query' +import { useEffect, useState } from 'react' +import { useQuery, useMutation } from '@tanstack/react-query' import queryKeys from '../../services/queryKeys' import BreadcrumbCom from '../breadcrumb/BreadcrumbCom' import TablePaginatedWrapper from '../tableWrapper/TablePaginatedWrapper' import Icons from '../Icons' -import { getProductsTemplate } from '../../services/siteServices' +import { getProductsTemplate, setProductsTemplate } from '../../services/siteServices' // import getDateTimeFromDateString from '../../helpers/getDateTimeFromDateString' export default function ProductTemplates() { + const [selected, setSelected] = useState('') + const [page, setPage] = useState(1) const [filter, setFilter] = useState({type: '', id: ''}) const [willFilter, setWillFilter] = useState(false) @@ -43,9 +45,62 @@ export default function ProductTemplates() { }, staleTime: 0 //0 mins }) - const productsTemData = data?.data?.templates // PRODUCTS TEMPLATE LIST - const pagination = data?.data?.pagination + // const productsTemData = data?.data?.templates // PRODUCTS TEMPLATE LIST + // const pagination = data?.data?.pagination // console.log('DATA', data?.data) + const [productsTemData, setProductsTemData] = useState([]) + const [pagination, setPagination] = useState({}) + useEffect(()=>{ + if(data){ + setProductsTemData(data?.data?.templates) + setPagination(data?.data?.pagination) + } + },[data]) + + + const statusChange = useMutation({ + mutationFn: (fields) => { + return setProductsTemplate(fields) + }, + onError: (error) => { + }, + onSuccess: (res) => { + queryClient.refetchQueries({ + queryKey: [...queryKeys.country_list], + // type: 'active', + // exact: true, + }) + }, + onSettled: () => { + setSelected('') + } + }) + + //FUNCTION TO CHANGE STATUS OR SIGNUP + const handleStatusChange = (event, details) => { + setSelected(event.target.id) + const name = event.target.name + const val = name.toUpperCase() == 'STATUS' ? details.status : details.signup + const reqData = { + 'val_type': name.toUpperCase(), + 'country_uid': details?.country_uid, + 'code': details?.code, + 'val': val == 0 ? 1 : 0 + } + // statusChange.mutate(reqData) + + setTimeout(()=>{ + setSelected('') + const NewData = productsTemData.map(item => { // remove later + if(item.product_id == event.target.id){ + return ({...item, status: !item.status}) + }else{ + return item + } + }) + setProductsTemData(NewData) + },3000) // remove later + }; return (