fixed product details page

This commit was merged in pull request #36.
This commit is contained in:
victorAnumudu
2025-07-04 19:43:28 +01:00
parent 8c57e94bb6
commit 2f73e84a84
4 changed files with 79 additions and 54 deletions
+31 -24
View File
@@ -1,11 +1,10 @@
import React, {useState} from "react";
import { useQuery } from '@tanstack/react-query'
import {useEffect} from "react";
import { useMutation, useQuery } from '@tanstack/react-query'
import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS";
// import getImage from "../../utils/getImage";
import ProductStart from "./ProductStart";
import { useLocation } from 'react-router-dom';
import {MyProductData, productData} from "../../services/services";
import queryKeys from "../../services/queryKeys";
import {MyProductData} from "../../services/services";
import ProductActive from "./ProductActive";
import ProductProvision from "./ProductProvision";
import {productConst} from "../../constants/products";
@@ -13,34 +12,42 @@ import {productConst} from "../../constants/products";
export default function ProductFactory(){
const location = useLocation();
const pathname = location.pathname;
const [productStatus, setProductStatus] = useState(0);
//productConst.PRODUCT_ACTIVE
// Split the pathname by '/' and get the last element
const lastPart = pathname.split('/').pop();
// console.log(lastPart)
const productID = pathname.split('/').pop();
const {data, isFetching, isError, error} = useQuery({
queryKey: queryKeys.product,
queryFn: () => MyProductData(lastPart)
const getProductData = useMutation({
mutationFn: (reqData) => {
return MyProductData(reqData)
},
onError: (error) => {
console.log(error)
},
onSuccess: (res) => {
if(res?.data?.resultCode != '0'){
throw({message: 'Something went wrong'})
}
}
})
const myproduct_data = data?.data?.myproduct_data
//setProductStatus(myproduct_data?.status)
const product_name = myproduct_data?.product_name;
const product_status = myproduct_data?.status;
useEffect(()=>{
let reqData = {
product_id : productID,
token: localStorage.getItem('token'), // USER TOKEN
uid: localStorage.getItem('uid') // USER UID
}
getProductData.mutate(reqData)
},[])
const myproduct_data = getProductData?.data?.data?.myproduct?.myproudct // PRODUCT DETAILS
const product_name = myproduct_data?.product_name;
const product_status = myproduct_data?.status;
return(
<>
<BreadcrumbComBS title={product_name} paths={['Dashboard', 'Product']} />
<div className="row">
{isFetching ?
{getProductData?.isPending ?
<>
<div className="row">
<div className="col-12">
@@ -48,10 +55,10 @@ export default function ProductFactory(){
</div>
</div>
</>
: isError ?
: getProductData?.error ?
<div className="row">
<div className="col-12">
<p className='text-danger'>{error.message}</p>
<p className='text-danger'>{getProductData?.error?.message}</p>
</div>
</div>
: