import React, { useMemo } from "react"; import Link from "next/link";; import { useQuery } from "react-query";; import Image from "~/components/ui/image";; import { getBanner } from "~/services/banner"; import { getRandomInt } from '@/utils/getRandomInt'; interface SideBannerProps { query?: string; // Menentukan bahwa 'query' adalah string (bisa undefined) } const SideBanner: React.FC = ({ query }) => { const fetchSideBanner = useQuery({ queryKey: ["sideBanner", query], queryFn: () => getBanner({ type: "side-banner-search", keyword: query }), }); const length = useMemo(() => fetchSideBanner.data?.length, [fetchSideBanner.data]); const randomIndex = useMemo(() => getRandomInt(length), [length]); const banner = fetchSideBanner?.data?.[randomIndex] || false; return banner && ( <> {banner.url ? ( {banner.name} ) : ( {banner.name} )} ) } export default SideBanner;