diff options
| -rw-r--r-- | src-migrate/modules/side-banner/index.tsx | 12 | ||||
| -rw-r--r-- | src-migrate/services/banner.ts | 9 | ||||
| -rw-r--r-- | src/lib/category/components/Category.jsx | 2 | ||||
| -rw-r--r-- | src/lib/product/components/ProductSearch.jsx | 2 |
4 files changed, 18 insertions, 7 deletions
diff --git a/src-migrate/modules/side-banner/index.tsx b/src-migrate/modules/side-banner/index.tsx index 878b8e70..23ffc112 100644 --- a/src-migrate/modules/side-banner/index.tsx +++ b/src-migrate/modules/side-banner/index.tsx @@ -5,12 +5,16 @@ import Image from "~/components/ui/image";; import { getBanner } from "~/services/banner"; import { getRandomInt } from '@/utils/getRandomInt'; -const SideBanner = () => { +interface SideBannerProps { + query?: string; // Menentukan bahwa 'query' adalah string (bisa undefined) +} + +const SideBanner: React.FC<SideBannerProps> = ({ query }) => { const fetchSideBanner = useQuery({ - queryKey: 'sideBanner', - queryFn: () => getBanner({ type: 'side-banner-search' }) + queryKey: ["sideBanner", query], + queryFn: () => getBanner({ type: "side-banner-search", keyword: query }), }); - + console.log("fetchSideBanner",fetchSideBanner) const length = useMemo(() => fetchSideBanner.data?.length, [fetchSideBanner.data]); const randomIndex = useMemo(() => getRandomInt(length), [length]); const banner = fetchSideBanner?.data?.[randomIndex] || false; diff --git a/src-migrate/services/banner.ts b/src-migrate/services/banner.ts index 1b46ba06..7fb922cf 100644 --- a/src-migrate/services/banner.ts +++ b/src-migrate/services/banner.ts @@ -3,9 +3,16 @@ import { IBanner } from '~/types/banner'; export const getBanner = async ({ type, + keyword, }: { type: string; + keyword?: string; // Tambahkan keyword sebagai parameter opsional }): Promise<IBanner[]> => { const searchParams = new URLSearchParams({ type }); - return await odooApi('GET', `/api/v1/banner?${searchParams.toString()}`); + + if (keyword) { + searchParams.append("keyword", keyword); + } + + return await odooApi("GET", `/api/v1/banner?${searchParams.toString()}`); }; diff --git a/src/lib/category/components/Category.jsx b/src/lib/category/components/Category.jsx index 91553295..15bfabc9 100644 --- a/src/lib/category/components/Category.jsx +++ b/src/lib/category/components/Category.jsx @@ -14,7 +14,7 @@ const Category = () => { const [openCategories, setOpenCategory] = useState([]); const [banner, setBanner] = useState([]); - const promotionProgram = useQuery('banner-promo-category-card', bannerApi({ type: 'banner-promo-category-card' })); + // const promotionProgram = useQuery('banner-promo-category-card', bannerApi({ type: 'banner-promo-category-card' })); useEffect(() => { const loadCategories = async () => { diff --git a/src/lib/product/components/ProductSearch.jsx b/src/lib/product/components/ProductSearch.jsx index f7b044aa..e2e1f859 100644 --- a/src/lib/product/components/ProductSearch.jsx +++ b/src/lib/product/components/ProductSearch.jsx @@ -549,7 +549,7 @@ const ProductSearch = ({ <div className='h-6' /> - <SideBanner /> + <SideBanner query={search} /> </div> <div className='w-9/12 pl-6'> |
