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 <>

Custom Product Template.

mail-alert

This product is using a custom template named “{custom_template_name}” .

} return (
{isFetching ? <>

Loading...

: isError ?

{error?.message}

:
<> {!templates?.length ?

No data Found

: templates.map(template => (
{template.title}/

{template.title}

{currentTemUID == template.template_uid ? : }
)) } {/* {Object.entries(data)?.map(([key, value]) => (
{value.title}

{value.title}

Activate
))} */}
<> {handleActivateTemplate.isPending ?

loading...

: handleActivateTemplate.isError ?

{handleActivateTemplate.error.message}

: handleActivateTemplate.isSuccess ?

Templated activated successfully

: null }
}
) } ) export default SiteTemplateSelector