service page updated for multiple data
This commit is contained in:
@@ -6,7 +6,6 @@ import { getRouteLang } from "@/request/getLang";
|
||||
import { endPoints } from "@/request/links";
|
||||
import { useCategory } from "@/store/useCategory";
|
||||
import { useQuery } from "@tanstack/react-query";
|
||||
import { useEffect } from "react";
|
||||
import CatalogCardSkeletonSmall from "./loading";
|
||||
import Image from "next/image";
|
||||
import { ArrowUpRight } from "lucide-react";
|
||||
@@ -19,9 +18,6 @@ export default function FilterCatalog() {
|
||||
queryFn: () => httpClient(endPoints.category.all),
|
||||
select: (data): CategoryType[] => data?.data?.results,
|
||||
});
|
||||
useEffect(() => {
|
||||
console.log("product catalog data: ", data);
|
||||
}, [data]);
|
||||
|
||||
if (isLoading) {
|
||||
return (
|
||||
|
||||
@@ -38,10 +38,7 @@ export default function Filter() {
|
||||
const { data: categoryBack } = useQuery({
|
||||
queryKey: ["category"],
|
||||
queryFn: () => httpClient(endPoints.category.all),
|
||||
select: (data) => {
|
||||
console.log("category data on filter: ", data?.data?.results);
|
||||
return data?.data?.results;
|
||||
},
|
||||
select: (data) => data?.data?.results,
|
||||
});
|
||||
|
||||
// ⭐ O'ZGARTIRILDI: subCategory so'rovi faqat dropdown ochilganda va have_sub_category true bo'lganda
|
||||
@@ -53,10 +50,7 @@ export default function Filter() {
|
||||
!!category.id &&
|
||||
category.have_sub_category === true &&
|
||||
openDropdowns[category.id] === true,
|
||||
select: (data) => {
|
||||
console.log("subCategory filter data: ", data?.data?.results);
|
||||
return data?.data?.results;
|
||||
},
|
||||
select: (data) => data?.data?.results,
|
||||
});
|
||||
|
||||
// ⭐ O'ZGARTIRILDI: Catalog va Size query'lari category yoki subCategory ID'ga qarab ishlaydi
|
||||
|
||||
@@ -5,18 +5,18 @@ import { useQuery } from "@tanstack/react-query";
|
||||
import ProductCard from "./productCard";
|
||||
import { useCategory } from "@/store/useCategory";
|
||||
import { useFilter } from "@/lib/filter-zustand";
|
||||
import { useEffect, useMemo } from "react";
|
||||
import { useMemo } from "react";
|
||||
import { useProductPageInfo } from "@/store/useProduct";
|
||||
import { useSubCategory } from "@/store/useSubCategory";
|
||||
import { useTranslations } from "next-intl";
|
||||
|
||||
export default function MainProduct() {
|
||||
const t = useTranslations();
|
||||
const category = useCategory((state) => state.category);
|
||||
const subCategory = useSubCategory((state) => state.subCategory);
|
||||
const filter = useFilter((state) => state.filter);
|
||||
const getFiltersByType = useFilter((state) => state.getFiltersByType);
|
||||
const setProduct = useProductPageInfo((state) => state.setProducts);
|
||||
|
||||
console.log("subCategory data: ", subCategory);
|
||||
// Query params yaratish
|
||||
const queryParams = useMemo(() => {
|
||||
const catalog = getFiltersByType("catalog");
|
||||
@@ -40,15 +40,12 @@ export default function MainProduct() {
|
||||
|
||||
// Query params qo'shish
|
||||
return `${baseLink}${queryParams}`;
|
||||
}, [category.id, category.have_sub_category, queryParams , subCategory.id]);
|
||||
}, [category.id, category.have_sub_category, queryParams, subCategory.id]);
|
||||
|
||||
const { data, isLoading, error } = useQuery({
|
||||
queryKey: ["products", subCategory.id, queryParams],
|
||||
queryFn: () => httpClient(requestLink),
|
||||
select: (data) => {
|
||||
console.log("product: ", data?.data?.data?.results);
|
||||
return data?.data?.data?.results;
|
||||
},
|
||||
select: (data) => data?.data?.data?.results,
|
||||
});
|
||||
|
||||
if (isLoading) {
|
||||
@@ -62,17 +59,13 @@ export default function MainProduct() {
|
||||
}
|
||||
|
||||
if (error) {
|
||||
return (
|
||||
<div className="text-center text-red-500 py-10">
|
||||
Ma'lumotlarni yuklashda xatolik yuz berdi
|
||||
</div>
|
||||
);
|
||||
return <div className="text-center text-red-500 py-10">{t("loadingError")}</div>;
|
||||
}
|
||||
|
||||
if (!data || data.length === 0) {
|
||||
return (
|
||||
<div className="text-center text-gray-400 py-10">
|
||||
Mahsulotlar topilmadi
|
||||
{t("productsNotFound")}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user