import React, {memo} from 'react' import getImage from "../../../utils/getImage"; import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'; import queryKeys from '../../../services/queryKeys'; import {getProductTemplateData, activateTemplate} from '../../../services/services'; import {Link} from "react-router-dom"; import siteLinks from "../../../links/siteLinks"; const SiteTemplateSelector = memo(({name = 'Full Name', data, productData}) => { const queryClient = useQueryClient() const {data: templateData, isFetching, isError, error} = useQuery({ queryKey: queryKeys.productTemplateData, queryFn: () => { let reqData = { token: localStorage.getItem('token'), // USER TOKEN uid: localStorage.getItem('uid'), // USER UID product_id: productData?.product_id } return getProductTemplateData(reqData) }, staleTime: 0 }) const templateResponse = templateData?.data const currentTemUID = templateResponse?.current_template_uid const templates = templateResponse?.templates const custom_template_name = templateResponse?.custom_template_name // console.log('data Template', templateResponse) console.log("Page data == ", data) const handleActivateTemplate = useMutation({ mutationFn: (fields) => { return activateTemplate(fields) }, onSuccess: (res) => { if (res?.data?.resultCode != '0') { throw new Error(res.data.resultDescription) } queryClient.refetchQueries({ // refetches productProvision API call queryKey: [...queryKeys.settingsData], }) }, onSettled: () => { setTimeout(() => { handleActivateTemplate.reset() }, 3000) } }) const handleSubmit = (tem_uid) => { const reqData = { token: localStorage.getItem('token'), // USER TOKEN uid: localStorage.getItem('uid'), // USER UID product_id: productData?.product_id, template_uid: tem_uid } // console.log(reqData) handleActivateTemplate.mutate(reqData) } if (custom_template_name && custom_template_name != '') { // This implies we have a custom template , just return here return <>
Loading...
{error?.message}
No data Found
: templates.map(template => (loading...
: handleActivateTemplate.isError ?{handleActivateTemplate.error.message}
: handleActivateTemplate.isSuccess ?Templated activated successfully
: null } >