'use client'; import { v4 } from 'uuid'; import News from './News'; import MoreBtn from '../MoreBtn'; import SectionTitle from '../SectionTitle'; import { Queries } from '@/api/queries'; import { useInfiniteQuery } from '@tanstack/react-query'; import NewsSlider from './NewsSlider'; import Loader from '../Loader'; interface IProps { title?: string; isExtendable?: boolean; isSlides?: boolean; perPage?: number; } const NewsGrid = ({ title, isExtendable, isSlides, perPage = 8 }: IProps) => { const { data, isLoading, isFetchingNextPage, error, hasNextPage, fetchNextPage } = useInfiniteQuery({ queryKey: ['news', 'infinite'], queryFn: ({ pageParam = 1 }) => Queries.getNews(pageParam, { perPage }), getNextPageParam: (prevData) => prevData.meta.last_page > prevData.meta.current_page ? prevData.meta.current_page + 1 : null, keepPreviousData: true, }); // const { data, isLoading, isFetchingNextPage, error, hasNextPage, fetchNextPage } = // useInfiniteQuery({ // queryKey: ['news', 'infinite'], // queryFn: ({ pageParam = 1 }) => Queries.getNews(pageParam, { perPage }), // keepPreviousData: true, // }); if (isLoading) return ; if (error) return

{JSON.stringify(error)}

; return (
{title ? : null} {isSlides ? ( ) : (
{data!.pages .flatMap((data) => data.data) .map((novelty) => ( ))}
)} {isExtendable ? (
fetchNextPage()} disabled={!hasNextPage} isFetching={isFetchingNextPage} />
) : null}
); }; export default NewsGrid;