'use client';

import React from 'react';
import { useCollections } from '@/hooks/use-shopify-collections';
import CollectionCard from './collection-card';

const Collections: React.FC = () => {
  const { collections, loading, error } = useCollections(20);

  if (loading) {
    return (
      <div className="py-16">
        <div className="container mx-auto px-4">
          <h2 className="text-4xl font-medium tracking-tight text-center mb-12 text-gray-900 font-heading">
            Our Collections
          </h2>

          {/* Loading Skeleton */}
          <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
            {Array.from({ length: 6 }).map((_, index) => (
              <div key={index} className="animate-pulse">
                <div className="aspect-video bg-gray-200"></div>
                <div className="mt-3 h-4 w-1/3 bg-gray-200 rounded"></div>
              </div>
            ))}
          </div>
        </div>
      </div>
    );
  }

  if (error) {
    return (
      <div className="py-16">
        <div className="container mx-auto px-4 py-24 text-center">
          <h2 className="text-2xl font-medium tracking-tight text-gray-900 font-heading mb-3">
            Collections Unavailable
          </h2>
          <p className="text-gray-500 max-w-md mx-auto">
            We couldn&apos;t load any collections right now. Please try again
            later.
          </p>
        </div>
      </div>
    );
  }

  if (collections.length === 0) {
    return (
      <div className="py-16">
        <div className="container mx-auto px-4 text-center">
          <h2 className="text-4xl font-medium tracking-tight mb-8 text-gray-900 font-heading">
            Our Collections
          </h2>

          <div className="max-w-md mx-auto py-12">
            <h3 className="text-lg font-medium text-gray-900 mb-2">
              No Collections Found
            </h3>
            <p className="text-gray-500">
              Check back later or configure your Shopify store connection.
            </p>
          </div>
        </div>
      </div>
    );
  }

  return (
    <div className="py-16">
      <div className="container mx-auto px-4">
        <h2 className="text-4xl font-medium tracking-tight text-center mb-12 text-gray-900 font-heading">
          Our Collections
        </h2>

        {/* Collections Grid */}
        <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
          {collections.map((collection) => (
            <CollectionCard key={collection.id} collection={collection} />
          ))}
        </div>
      </div>
    </div>
  );
};

export default Collections;
