summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src-migrate/modules/side-banner/index.tsx12
-rw-r--r--src-migrate/services/banner.ts9
-rw-r--r--src/lib/category/components/Category.jsx2
-rw-r--r--src/lib/product/components/ProductSearch.jsx2
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'>