SPB Git

spb/fabri-ka Public

Agrégateur de produits québécois — www.fabri-ka.com

HTML 57% Python 19.9% TypeScript 15.3% CSS 7.7%
1.3 KB · 57 lines tsx
Raw Blame History
1interface SkeletonProps {2  width?: string3  height?: string4  radius?: string5  className?: string6}78export default function Skeleton({9  width = '100%',10  height = '1rem',11  radius = '8px',12  className = '',13}: SkeletonProps) {14  return (15    <span16      className={`skeleton ${className}`}17      style={{ width, height, borderRadius: radius, display: 'block' }}18      aria-hidden="true"19    />20  )21}2223export function ProductCardSkeleton() {24  return (25    <div className="card product-card product-card-skeleton">26      <Skeleton height="auto" radius="10px" className="skeleton-square" />27      <div className="product-card-body">28        <Skeleton height="0.85rem" width="90%" />29        <Skeleton height="0.85rem" width="60%" />30        <Skeleton height="1.1rem" width="40%" />31      </div>32    </div>33  )34}3536export function SkeletonGrid({ count = 10 }: { count?: number }) {37  return (38    <div className="product-grid">39      {Array.from({ length: count }, (_, i) => (40        <ProductCardSkeleton key={i} />41      ))}42    </div>43  )44}4546export function SkeletonRow({ count = 6 }: { count?: number }) {47  return (48    <div className="rail-track">49      {Array.from({ length: count }, (_, i) => (50        <div className="rail-item" key={i}>51          <ProductCardSkeleton />52        </div>53      ))}54    </div>55  )56}57