aboutsummaryrefslogtreecommitdiffstats
path: root/frontend/src/app/page.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/app/page.tsx')
-rw-r--r--frontend/src/app/page.tsx117
1 files changed, 60 insertions, 57 deletions
diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx
index 7d6b7a2..dce3b54 100644
--- a/frontend/src/app/page.tsx
+++ b/frontend/src/app/page.tsx
@@ -2,6 +2,7 @@ import { Header } from "@/components/header";
import { HeroSection } from "@/components/hero-section";
import { ProductCard } from "@/components/product-card";
import { Footer } from "@/components/footer";
+import { PageWrapper } from "@/components/loading";
export default function Home() {
// Sample product data for demonstration
@@ -86,67 +87,69 @@ export default function Home() {
];
return (
- <div className="min-h-screen bg-background">
- <Header />
-
- <main>
- <HeroSection />
+ <PageWrapper>
+ <div className="min-h-screen bg-background" suppressHydrationWarning>
+ <Header />
- {/* Featured Products Section */}
- <section className="py-16 bg-white dark:bg-neutral-950">
- <div className="container mx-auto px-4">
- <div className="text-center mb-12">
- <h2 className="text-3xl font-bold mb-4 text-foreground">Featured Products</h2>
- <p className="text-muted-foreground max-w-2xl mx-auto">
- Discover our handpicked selection of trending items that our customers love most.
- </p>
+ <main>
+ <HeroSection />
+
+ {/* Featured Products Section */}
+ <section className="py-16 bg-white dark:bg-neutral-950">
+ <div className="container mx-auto px-4">
+ <div className="text-center mb-12">
+ <h2 className="text-3xl font-bold mb-4 text-foreground">Featured Products</h2>
+ <p className="text-muted-foreground max-w-2xl mx-auto">
+ Discover our handpicked selection of trending items that our customers love most.
+ </p>
+ </div>
+
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6">
+ {featuredProducts.map((product) => (
+ <ProductCard key={product.id} {...product} />
+ ))}
+ </div>
+
+ <div className="text-center mt-12">
+ <button className="bg-primary text-primary-foreground px-8 py-3 rounded-lg font-medium hover:bg-primary/90 transition-colors">
+ View All Products
+ </button>
+ </div>
</div>
-
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6">
- {featuredProducts.map((product) => (
- <ProductCard key={product.id} {...product} />
- ))}
- </div>
-
- <div className="text-center mt-12">
- <button className="bg-primary text-primary-foreground px-8 py-3 rounded-lg font-medium hover:bg-primary/90 transition-colors">
- View All Products
- </button>
- </div>
- </div>
- </section>
+ </section>
- {/* Categories Section */}
- <section className="py-16 bg-neutral-50 dark:bg-neutral-900">
- <div className="container mx-auto px-4">
- <div className="text-center mb-12">
- <h2 className="text-3xl font-bold mb-4">Shop by Category</h2>
- <p className="text-muted-foreground">
- Explore our diverse range of fashion categories
- </p>
- </div>
-
- <div className="grid grid-cols-1 md:grid-cols-3 gap-6">
- {[
- { name: "Women", image: "/api/placeholder/600/400", count: "2,345+ items" },
- { name: "Men", image: "/api/placeholder/600/400", count: "1,892+ items" },
- { name: "Kids", image: "/api/placeholder/600/400", count: "956+ items" },
- ].map((category) => (
- <div key={category.name} className="group relative overflow-hidden rounded-2xl bg-neutral-100 dark:bg-neutral-800 aspect-[4/3]">
- <div className="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent" />
- <div className="absolute bottom-6 left-6 text-white">
- <h3 className="text-2xl font-bold mb-1">{category.name}</h3>
- <p className="text-neutral-200">{category.count}</p>
+ {/* Categories Section */}
+ <section className="py-16 bg-neutral-50 dark:bg-neutral-900">
+ <div className="container mx-auto px-4">
+ <div className="text-center mb-12">
+ <h2 className="text-3xl font-bold mb-4">Shop by Category</h2>
+ <p className="text-muted-foreground">
+ Explore our diverse range of fashion categories
+ </p>
+ </div>
+
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-6">
+ {[
+ { name: "Women", image: "/api/placeholder/600/400", count: "2,345+ items" },
+ { name: "Men", image: "/api/placeholder/600/400", count: "1,892+ items" },
+ { name: "Kids", image: "/api/placeholder/600/400", count: "956+ items" },
+ ].map((category) => (
+ <div key={category.name} className="group relative overflow-hidden rounded-2xl bg-neutral-100 dark:bg-neutral-800 aspect-[4/3]">
+ <div className="absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent" />
+ <div className="absolute bottom-6 left-6 text-white">
+ <h3 className="text-2xl font-bold mb-1">{category.name}</h3>
+ <p className="text-neutral-200">{category.count}</p>
+ </div>
+ <div className="absolute inset-0 bg-black/20 opacity-0 group-hover:opacity-100 transition-opacity duration-300" />
</div>
- <div className="absolute inset-0 bg-black/20 opacity-0 group-hover:opacity-100 transition-opacity duration-300" />
- </div>
- ))}
+ ))}
+ </div>
</div>
- </div>
- </section>
- </main>
-
- <Footer />
- </div>
+ </section>
+ </main>
+
+ <Footer />
+ </div>
+ </PageWrapper>
);
}