"use client"; import Image from "next/image"; import { Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, } from "@/components/ui/pagination"; import useMedia from "@/hooks/use-media"; import { Loader2 } from "lucide-react"; export default function PhotoGallery() { const { data, error: mediaError, isLoading, success, setPage, setLimit, mutate, } = useMedia(); return (

Gallerie Photo

{isLoading ? (
) : (
{data?.items.map((photo) => (
{}} > {photo.alt}
))} )
)} { e.preventDefault(); setPage((prev) => Math.max(prev - 1, 1)); }} className={ data?.page === 1 ? "pointer-events-none opacity-50" : "" } /> {[...Array(data?.totalPages)].map((_, i) => ( { e.preventDefault(); setPage(i + 1); }} isActive={data?.page === i + 1} > {i + 1} ))} { e.preventDefault(); setPage((prev) => Math.min(prev + 1, data?.totalPages ?? 1), ); }} className={ data?.page === data?.totalPages ? "pointer-events-none opacity-50" : "" } />
); }