From 1bcd26e602f7e012b177f8559558aad944521147 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Tue, 31 Dec 2024 10:25:51 +0100 Subject: [PATCH] subscribe api added --- src/component/product/ProductStart.jsx | 46 ++++++++++++++++++++++++-- src/services/services.js | 9 +++++ 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/src/component/product/ProductStart.jsx b/src/component/product/ProductStart.jsx index d0edc6b..7269c51 100644 --- a/src/component/product/ProductStart.jsx +++ b/src/component/product/ProductStart.jsx @@ -1,8 +1,13 @@ -import React, { useRef } from "react"; +import React, { useRef, useState } from "react"; import getImage from "../../utils/getImage"; import { Modal } from "bootstrap"; +import { useMutation } from "@tanstack/react-query"; +import { subscribe } from '../../services/services' + export default function ProductStart(props){ + const [requestStatus, setRequestStatus] = useState({status:false, message: ''}) + console.log(props) const productBanner = "product/"+props.productData.banner; const productTitle = props.productData.title; @@ -20,6 +25,29 @@ export default function ProductStart(props){ // modal.hide() } + const mutation = useMutation({ + mutationFn: (fields) => { + return subscribe(fields) + }, + onError: (error) => { + setRequestStatus({status:false, message:'failed, try again'}) + console.log(error) + }, + onSuccess: (res) => { + setRequestStatus({status:true, message:'successful'}) + console.log(res) + }, + // onSettled: () => { + // setTimeout(()=>{ + // setRequestStatus({status:false, message:''}) + // },4000) + // } + }) + + const handleSubscribe = () => { + mutation.mutate({}) + } + return ( <>
@@ -95,10 +123,24 @@ export default function ProductStart(props){ nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla. Cras mattis consectetur purus sit amet fermentum. Cras justo odio,

+ {mutation.error && + <> +
+

{mutation.error.message}

+
+ + } + {mutation.isSuccess && + <> +
+

{'subscription is successful'}

+
+ + }
- +
diff --git a/src/services/services.js b/src/services/services.js index d1c41ee..8eaeb7e 100644 --- a/src/services/services.js +++ b/src/services/services.js @@ -66,6 +66,15 @@ export const verifyEmail = (reqData) => { return postAuxEnd('/panel/auth/register/verify', postData, false) } +// FUNCTION TO SUBSCRIBE +export const subscribe = (reqData) => { + let postData = { + ...reqData + } + return postAuxEnd('/panel/myproduct/subscription', postData, false) + // return getAuxEnd('/panel/myproduct/subscription') +} + // FUNCTION TO RESET USER PASSWORD export const recoverPWD = (reqData) => {