diff options
author | 2025-05-29 20:57:31 +0530 | |
---|---|---|
committer | 2025-05-29 20:57:31 +0530 | |
commit | ca3ae0db6e8e3f2cf99423797c60f5c2cc66a780 (patch) | |
tree | f1d5fa2174283a811a5422cf148a96f435b461a6 /frontend/src/app/women/page.tsx | |
parent | a8fc4438ff1b890a78b7d2ba470011d8f87c6043 (diff) | |
download | blcklst-ca3ae0db6e8e3f2cf99423797c60f5c2cc66a780.tar.gz blcklst-ca3ae0db6e8e3f2cf99423797c60f5c2cc66a780.tar.bz2 blcklst-ca3ae0db6e8e3f2cf99423797c60f5c2cc66a780.zip |
feat: added the product page and enhanced the UI
- added the product page where the product details is shown
- enhanced the nav bar to handle the rendering
- added the loading screen to the page
- fixed the rendering method to the navigation-menu
Diffstat (limited to 'frontend/src/app/women/page.tsx')
-rw-r--r-- | frontend/src/app/women/page.tsx | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/frontend/src/app/women/page.tsx b/frontend/src/app/women/page.tsx new file mode 100644 index 0000000..6814760 --- /dev/null +++ b/frontend/src/app/women/page.tsx @@ -0,0 +1,178 @@ +import { Header } from "@/components/header"; +import { Footer } from "@/components/footer"; +import { ProductCard } from "@/components/product-card"; + +export default function WomenPage() { + // Mock women's products data + const womenProducts = [ + { + id: "9", + name: "Floral Summer Dress", + price: 129, + originalPrice: 169, + image: "/api/placeholder/400/500", + images: ["/api/placeholder/400/500", "/api/placeholder/400/500"], + rating: 4.8, + reviewCount: 324, + isNew: true, + isSale: true, + category: "Dresses", + colors: ["#FFB6C1", "#FFFFFF", "#98FB98"], + sizes: ["XS", "S", "M", "L", "XL"], + }, + { + id: "10", + name: "Silk Blouse", + price: 89, + originalPrice: 119, + image: "/api/placeholder/400/500", + rating: 4.6, + reviewCount: 198, + isSale: true, + category: "Tops", + colors: ["#FFFFFF", "#000000", "#FFB6C1"], + sizes: ["XS", "S", "M", "L"], + }, + { + id: "11", + name: "High-Waist Jeans", + price: 109, + image: "/api/placeholder/400/500", + rating: 4.7, + reviewCount: 456, + isNew: true, + category: "Jeans", + colors: ["#4169E1", "#000000", "#FFFFFF"], + sizes: ["24", "26", "28", "30", "32"], + }, + { + id: "12", + name: "Cashmere Sweater", + price: 199, + originalPrice: 249, + image: "/api/placeholder/400/500", + rating: 4.9, + reviewCount: 167, + isSale: true, + category: "Sweaters", + colors: ["#F5F5DC", "#FFB6C1", "#6B7280"], + sizes: ["XS", "S", "M", "L", "XL"], + }, + { + id: "13", + name: "Leather Handbag", + price: 249, + image: "/api/placeholder/400/500", + rating: 4.5, + reviewCount: 89, + category: "Accessories", + colors: ["#000000", "#8B4513", "#FFFFFF"], + sizes: ["One Size"], + }, + { + id: "14", + name: "Midi Skirt", + price: 79, + originalPrice: 99, + image: "/api/placeholder/400/500", + rating: 4.4, + reviewCount: 234, + isSale: true, + category: "Skirts", + colors: ["#000000", "#FFB6C1", "#6B7280"], + sizes: ["XS", "S", "M", "L", "XL"], + }, + { + id: "15", + name: "Trench Coat", + price: 299, + image: "/api/placeholder/400/500", + rating: 4.8, + reviewCount: 156, + isNew: true, + category: "Outerwear", + colors: ["#F5F5DC", "#000000", "#8B4513"], + sizes: ["XS", "S", "M", "L", "XL"], + }, + { + id: "16", + name: "Ankle Boots", + price: 179, + originalPrice: 219, + image: "/api/placeholder/400/500", + rating: 4.6, + reviewCount: 278, + isSale: true, + category: "Shoes", + colors: ["#000000", "#8B4513", "#6B7280"], + sizes: ["5", "6", "7", "8", "9", "10"], + }, + ]; + + return ( + <> + <Header /> + <main className="min-h-screen bg-background"> + {/* Hero Section */} + <section className="relative h-96 bg-gradient-to-r from-pink-100 to-purple-100 dark:from-pink-900/20 dark:to-purple-900/20 flex items-center justify-center"> + <div className="text-center space-y-4"> + <h1 className="text-4xl md:text-6xl font-bold text-foreground">Women's Collection</h1> + <p className="text-lg md:text-xl max-w-2xl mx-auto px-4 text-muted-foreground"> + Embrace your style with our curated women's fashion collection featuring elegant and contemporary pieces + </p> + </div> + </section> + + {/* Filter Section */} + <section className="border-b dark:border-neutral-800 py-6"> + <div className="container mx-auto px-4"> + <div className="flex flex-wrap items-center justify-between gap-4"> + <div className="flex items-center space-x-4"> + <span className="text-sm text-muted-foreground"> + Showing {womenProducts.length} products + </span> + </div> + <div className="flex items-center space-x-4"> + <select className="px-3 py-2 border rounded-lg text-sm bg-background"> + <option>Sort by: Featured</option> + <option>Price: Low to High</option> + <option>Price: High to Low</option> + <option>Newest First</option> + <option>Best Rating</option> + </select> + </div> + </div> + </div> + </section> + + {/* Products Grid */} + <section className="py-12"> + <div className="container mx-auto px-4"> + <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6"> + {womenProducts.map((product) => ( + <ProductCard key={product.id} {...product} /> + ))} + </div> + </div> + </section> + + {/* Load More Section */} + <section className="py-12 border-t dark:border-neutral-800"> + <div className="container mx-auto px-4 text-center"> + <button className="px-8 py-3 border border-primary text-primary hover:bg-primary hover:text-primary-foreground transition-colors rounded-lg"> + Load More Products + </button> + </div> + </section> + </main> + <Footer /> + </> + ); +} + +export async function generateMetadata() { + return { + title: "Women's Fashion Collection | blcklst", + description: "Shop the latest women's fashion at blcklst. Elegant dresses, tops, accessories, and more for the modern woman.", + }; +}
\ No newline at end of file |