Merge version_2 into main

Merge version_2 into main
This commit was merged in pull request #2.
This commit is contained in:
2026-06-03 04:14:19 +00:00
2 changed files with 145 additions and 3 deletions

View File

@@ -35,7 +35,7 @@ export default function LandingPage() {
{
name: "Home", id: "#home"},
{
name: "Products", id: "#products"},
name: "Products", href: "/products"},
{
name: "Features", id: "#features"},
{
@@ -132,7 +132,7 @@ export default function LandingPage() {
{
id: "mens-oxford", name: "Classic Oxford", price: "$189.99", imageSrc: "http://img.b2bpic.net/free-photo/couple-sharing-tender-public-intimacy-moments_23-2149430276.jpg", imageAlt: "Classic Black Oxford Shoe"},
{
id: "womens-stiletto", name: "Crimson Stiletto", price: "$159.99", imageSrc: "http://img.b2bpic.net/free-photo/lady-red-dress-coquettishly-raises-her-leg-while-sitting-restaurant-fulllength-photo-girl-with-short-hair-waiting-her-coffee_197531-26215.jpg", imageAlt: "Elegant Crimson Stiletto Heel"},
id: "womens-stiletto", name: "Crimson Stiletto", price: "$159.99", imageSrc: "http://img.b2bpic.net/free-photo/lady-red-dress-coquettishly-raises-her-leg-while-sitting-restaurant-fulllength-photo-girl-with-short-hair-grey-tshirt-beige-jacket-posing-cafe_197531-26215.jpg", imageAlt: "Elegant Crimson Stiletto Heel"},
{
id: "unisex-sneakers", name: "Urban White Sneaker", price: "$99.99", imageSrc: "http://img.b2bpic.net/free-photo/romantic-couple-moment-city_329181-12530.jpg", imageAlt: "Modern White Urban Sneaker"},
{

142
src/app/products/page.tsx Normal file
View File

@@ -0,0 +1,142 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ProductCatalog from '@/components/ecommerce/productCatalog/ProductCatalog';
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import { useState } from 'react';
export default function ProductsPage() {
const [searchValue, setSearchValue] = useState("");
const [selectedCategory, setSelectedCategory] = useState("All");
const allProducts = [
{
id: "1", category: "Men's Sneakers", name: "AirMax Alpha", price: "$120.00", rating: 4.5,
reviewCount: "87", imageSrc: "http://img.b2bpic.net/free-photo/stylish-sneakers_114579-2469.jpg", imageAlt: "Stylish AirMax Alpha sneakers"
},
{
id: "2", category: "Women's Heels", name: "Elegant Stiletto", price: "$95.00", rating: 4.8,
reviewCount: "123", imageSrc: "http://img.b2bpic.net/free-photo/elegant-high-heel-shoes-wooden-floor_107420-63625.jpg", imageAlt: "Elegant Stiletto high heels"
},
{
id: "3", category: "Unisex Sandals", name: "CloudGlide Sandals", price: "$55.00", rating: 4.2,
reviewCount: "210", imageSrc: "http://img.b2bpic.net/free-photo/pair-blue-suede-sandals_23-2149595873.jpg", imageAlt: "Comfortable CloudGlide sandals"
},
{
id: "4", category: "Men's Dress Shoes", name: "Classic Leather Brogue", price: "$175.00", rating: 4.7,
reviewCount: "64", imageSrc: "http://img.b2bpic.net/free-photo/elegant-modern-classic-mens-shoes_107420-56933.jpg", imageAlt: "Classic Leather Brogue dress shoes"
},
{
id: "5", category: "Women's Boots", name: "Winter Explorer Boots", price: "$140.00", rating: 4.6,
reviewCount: "91", imageSrc: "http://img.b2bpic.net/free-photo/winter-boots_1203-9118.jpg", imageAlt: "Durable Winter Explorer boots"
},
{
id: "6", category: "Kids' Sneakers", name: "Rainbow Dash Trainers", price: "$60.00", rating: 4.9,
reviewCount: "150", imageSrc: "http://img.b2bpic.net/free-photo/pink-sneaker-children-s-shoe_1203-5182.jpg", imageAlt: "Colorful Rainbow Dash trainers for kids"
},
{
id: "7", category: "Men's Loafers", name: "Velvet Comfort Loafers", price: "$110.00", rating: 4.3,
reviewCount: "78", imageSrc: "http://img.b2bpic.net/free-photo/elegant-shoes-with-brown-trousers_107420-56937.jpg", imageAlt: "Velvet Comfort Loafers"
},
{
id: "8", category: "Women's Flats", name: "Ballet Dream Flats", price: "$70.00", rating: 4.4,
reviewCount: "105", imageSrc: "http://img.b2bpic.net/free-photo/womens-leather-shoes-black_1203-9121.jpg", imageAlt: "Ballet Dream Flats"
},
{
id: "9", category: "Unisex Running Shoes", name: "SpeedForm Pro", price: "$130.00", rating: 4.7,
reviewCount: "112", imageSrc: "http://img.b2bpic.net/free-photo/blue-sport-shoe_1203-5188.jpg", imageAlt: "SpeedForm Pro running shoes"
},
{
id: "10", category: "Women's Wedges", name: "Summer Breeze Wedges", price: "$85.00", rating: 4.1,
reviewCount: "60", imageSrc: "http://img.b2bpic.net/free-photo/summer-shoes_1203-5186.jpg", imageAlt: "Summer Breeze Wedges"
},
{
id: "11", category: "Men's Boots", name: "Rugged Trail Boots", price: "$160.00", rating: 4.6,
reviewCount: "70", imageSrc: "http://img.b2bpic.net/free-photo/male-shoes_1203-9125.jpg", imageAlt: "Rugged Trail hiking boots"
},
{
id: "12", category: "Kids' Sandals", name: "Ocean Play Sandals", price: "$45.00", rating: 4.0,
reviewCount: "95", imageSrc: "http://img.b2bpic.net/free-photo/children-s-red-sandals_1203-9132.jpg", imageAlt: "Ocean Play sandals for kids"
}
];
const filteredProducts = allProducts.filter(product => {
const matchesSearch = product.name.toLowerCase().includes(searchValue.toLowerCase());
const matchesCategory = selectedCategory === "All" || product.category === selectedCategory;
return matchesSearch && matchesCategory;
});
const categories = ["All", ...new Set(allProducts.map(p => p.category))];
const filters = [
{
label: "Category", options: categories,
selected: selectedCategory,
onChange: (value: string) => setSelectedCategory(value)
}
];
return (
<ThemeProvider
defaultButtonVariant="text-shift"
defaultTextAnimation="background-highlight"
borderRadius="pill"
contentWidth="small"
sizing="medium"
background="noise"
cardStyle="glass-elevated"
primaryButtonStyle="shadow"
secondaryButtonStyle="glass"
headingFontWeight="normal"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{ name: "Home", id: "#home" },
{ name: "Products", href: "/products" },
{ name: "Features", id: "#features" },
{ name: "About", id: "#about" },
{ name: "Testimonials", id: "#testimonials" },
{ name: "FAQ", id: "#faq" },
{ name: "Contact", id: "#contact" }
]}
logoSrc="http://img.b2bpic.net/free-vector/flat-design-cross-country-template_23-2149493304.jpg"
logoAlt="Sole & Style Logo"
brandName="Sole & Style"
bottomLeftText="Luxury Footwear"
bottomRightText="info@solenstyle.com"
/>
</div>
<div id="product-catalog" data-section="product-catalog">
<ProductCatalog
layout="page"
products={filteredProducts}
searchValue={searchValue}
onSearchChange={setSearchValue}
searchPlaceholder="Search shoes..."
filters={filters}
emptyMessage="No shoes found matching your criteria."
className="py-16 md:py-24"
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoSrc="http://img.b2bpic.net/free-vector/flat-design-cross-country-template_23-2149493304.jpg"
logoText="Sole & Style"
leftLink={{
text: "Privacy Policy", href: "#"
}}
rightLink={{
text: "Terms of Service", href: "#"
}}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}