From 3c833df63cd2b0a278bf5e078103939f26f83a56 Mon Sep 17 00:00:00 2001 From: hamid zarghami Date: Sun, 7 Jun 2026 10:40:15 +0330 Subject: [PATCH] business page --- src/pages/{catalogue => business}/Business.tsx | 6 +++--- src/pages/business/hooks/useBusinessData.ts | 18 ++++++++++++++++++ src/pages/business/service/BusinessService.ts | 14 ++++++++++++++ src/pages/catalogue/hooks/useCatalogueData.ts | 16 ---------------- .../catalogue/service/CatalogueService.ts | 12 ------------ src/router/MainRouter.tsx | 2 +- 6 files changed, 36 insertions(+), 32 deletions(-) rename src/pages/{catalogue => business}/Business.tsx (75%) create mode 100644 src/pages/business/hooks/useBusinessData.ts create mode 100644 src/pages/business/service/BusinessService.ts diff --git a/src/pages/catalogue/Business.tsx b/src/pages/business/Business.tsx similarity index 75% rename from src/pages/catalogue/Business.tsx rename to src/pages/business/Business.tsx index b4ea324..51b519e 100644 --- a/src/pages/catalogue/Business.tsx +++ b/src/pages/business/Business.tsx @@ -1,9 +1,9 @@ import GridWrapper from "@/components/GridWrapper"; +import CatalogueGridSkeleton from "@/pages/catalogue/components/CatalogueGridSkeleton"; +import CatalogueItem from "@/pages/catalogue/components/CatalogueItem"; import { type FC } from "react"; import { useParams } from "react-router-dom"; -import CatalogueGridSkeleton from "./components/CatalogueGridSkeleton"; -import CatalogueItem from "./components/CatalogueItem"; -import { useGetBusinessCatalog } from "./hooks/useCatalogueData"; +import { useGetBusinessCatalog } from "./hooks/useBusinessData"; const Business: FC = () => { const { slug } = useParams<{ slug: string }>(); diff --git a/src/pages/business/hooks/useBusinessData.ts b/src/pages/business/hooks/useBusinessData.ts new file mode 100644 index 0000000..810ae55 --- /dev/null +++ b/src/pages/business/hooks/useBusinessData.ts @@ -0,0 +1,18 @@ +import { useQuery } from "@tanstack/react-query"; +import * as api from "../service/BusinessService"; + +export const useGetBusinessCatalog = (slug: string) => { + return useQuery({ + queryKey: ["businessCatalog", slug], + queryFn: () => api.getBusinessCatalog(slug), + enabled: !!slug, + }); +}; + +export const useGetBusinessBySlug = (slug: string) => { + return useQuery({ + queryKey: ["business", slug], + queryFn: () => api.getBusinessBySlug(slug), + enabled: !!slug, + }); +}; diff --git a/src/pages/business/service/BusinessService.ts b/src/pages/business/service/BusinessService.ts new file mode 100644 index 0000000..bf7b38d --- /dev/null +++ b/src/pages/business/service/BusinessService.ts @@ -0,0 +1,14 @@ +import axios from "@/config/axios"; +import type { CatalogResponseType } from "@/pages/catalogue/types/Types"; + +export const getBusinessCatalog = async (slug: string) => { + const { data } = await axios.get( + `/public/catalogue/business/slug/${slug}`, + ); + return data; +}; + +export const getBusinessBySlug = async (slug: string) => { + const { data } = await axios.get(`/public/business/${slug}`); + return data; +}; diff --git a/src/pages/catalogue/hooks/useCatalogueData.ts b/src/pages/catalogue/hooks/useCatalogueData.ts index 7614058..750b281 100644 --- a/src/pages/catalogue/hooks/useCatalogueData.ts +++ b/src/pages/catalogue/hooks/useCatalogueData.ts @@ -127,19 +127,3 @@ export const usePurchaseInitate = () => { mutationFn: api.purchaseInitate, }); }; - -export const useGetBusinessCatalog = (slug: string) => { - return useQuery({ - queryKey: ["businessCatalog", slug], - queryFn: () => api.getBusinessCatalog(slug), - enabled: !!slug, - }); -}; - -export const useGetBusinessBySlug = (slug: string) => { - return useQuery({ - queryKey: ["business", slug], - queryFn: () => api.getBusinessBySlug(slug), - enabled: !!slug, - }); -}; diff --git a/src/pages/catalogue/service/CatalogueService.ts b/src/pages/catalogue/service/CatalogueService.ts index aeafbec..4765b3d 100644 --- a/src/pages/catalogue/service/CatalogueService.ts +++ b/src/pages/catalogue/service/CatalogueService.ts @@ -50,15 +50,3 @@ export const purchaseInitate = async (params: PurchaseInitiate) => { ); return data; }; - -export const getBusinessCatalog = async (slug: string) => { - const { data } = await axios.get( - `/public/catalogue/business/slug/${slug}`, - ); - return data; -}; - -export const getBusinessBySlug = async (slug: string) => { - const { data } = await axios.get(`/public/business/${slug}`); - return data; -}; diff --git a/src/router/MainRouter.tsx b/src/router/MainRouter.tsx index 3192e3f..a7d78e1 100644 --- a/src/router/MainRouter.tsx +++ b/src/router/MainRouter.tsx @@ -1,6 +1,6 @@ import { isBusinessCatalogPath, isViewerPath, Paths } from "@/config/Paths"; import { clx } from "@/helpers/utils"; -import Business from "@/pages/catalogue/Business"; +import Business from "@/pages/business/Business"; import CatalogueList from "@/pages/catalogue/List"; import DesignerRequest from "@/pages/designer/Request"; import Editor from "@/pages/editor/Editor";