import { usePackagesQuery } from '../hooks/usePackagesQuery'; import { PackageCard } from './PackageCard'; import { PackageCardSkeleton } from './PackageCardSkeleton'; // Matches the fixed number of packages (see content.ts) so the skeleton grid has the // same shape as the loaded grid — no layout shift once the real cards arrive. const SKELETON_COUNT = 3; export function PackagesSection() { const { data: packages, isLoading, isError } = usePackagesQuery(); return (
// pakketten

Drie manieren om te starten

Van één sterke pagina tot volledig maatwerk met eigen back-end. Elk pakket heeft een vaste scope en een vaste prijs.

{isError ? (

Pakketten konden niet worden geladen. Probeer het later opnieuw.

) : isLoading || !packages ? ( Array.from({ length: SKELETON_COUNT }, (_, i) => ) ) : ( packages.map((pkg) => ) )}
); }