import React, { useRef, useState } from "react"; import {useNavigate} from 'react-router-dom' import getImage from "../../utils/getImage"; import { Modal } from "bootstrap"; import { useMutation, useQueryClient } from "@tanstack/react-query"; import { subscribe } from '../../services/services' import queryKeys from "../../services/queryKeys"; export default function ProductStart(props){ const queryClient = useQueryClient() const navigate = useNavigate() const [requestStatus, setRequestStatus] = useState({status:false, message: ''}) const product_uid = props?.productData?.product_uid; const product_id = props?.productData?.product_id; const productBanner = `product/${props.productData?.banner}`; const productTitle = props?.productData?.title; const productDescription = props?.productData?.description; const promotion_text = props?.productData?.promotion_text; const product_status = props?.productData?.status; const saleText = props?.productData?.sale_text; const modalRef = useRef(null) const invalidate = () => { // queryClient.refetchQueries({ // queryKey: [...queryKeys.product], // // type: 'active', // // exact: true, // }) queryClient.invalidateQueries({ queryKey: [...queryKeys.product_url] }) queryClient.invalidateQueries({ queryKey: [...queryKeys.product_page] }) } const mutation = useMutation({ mutationFn: (fields) => { return subscribe(fields) }, onError: (error) => { setRequestStatus({status:false, message:'failed, try again'}) console.log('ERROR IS', error) }, onSuccess: (res) => { setRequestStatus({status:true, message:'successful'}) navigate(`/product/${product_id}`, {replace: true}) //'/product/'+ product_id dismissModal() console.log(res) }, onSettled: () => { invalidate() // Invalidates selected queries setTimeout(()=>{ setRequestStatus({status:false, message:''}) },4000) } }) const handleSubscribe = () => { mutation.mutate({product_id: product_id}) } const dismissModal = () => { const body = document.querySelector('body') body.removeAttribute('style') // body.classList.toggle('modal-open') const modalBackdrop = document.querySelectorAll('.modal-backdrop') modalBackdrop.forEach(item => { if (item) { item.remove(); } }) const modal = Modal.getInstance(modalRef.current); modal && modal.hide(); }; return ( <>
Card image cap

{productTitle}

{/*

{productDescription}

*/}
{ (product_status===1) ? <>
<> Card image cap

Start with your goals in mind and then work possible.

  • Coming soon!!!

: <>
{/*Card image cap*/}

Subscription

Start with your goals in mind and then work possible.ith yand Goals. If the plan doesn’t support the vision then change it!

  • {promotion_text}

  • 90 days free and 3.95/Month
{/*
*/} {/* Card link*/} {/* Another link*/} {/*
*/}
}
{/* Vertical Center Modal */}