diff --git a/src/app/cart/page.tsx b/src/app/cart/page.tsx
new file mode 100644
index 0000000..1937fa9
--- /dev/null
+++ b/src/app/cart/page.tsx
@@ -0,0 +1,132 @@
+"use client";
+
+import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
+import ReactLenis from "lenis/react";
+import { CartProvider, useCart } from "@/context/cartContext";
+import ProductCart from '@/components/ecommerce/cart/ProductCart';
+import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
+import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
+
+export default function CartPage() {
+ return (
+
+
+
+
+
+
+
+
+
+ );
+}
+
+function CartContent() {
+ const { cartItems, removeFromCart, updateQuantity, getTotalPrice } = useCart();
+
+ const handleQuantityChange = (id: string, quantity: number) => {
+ updateQuantity(id, quantity);
+ };
+
+ const handleRemove = (id: string) => {
+ removeFromCart(id);
+ };
+
+ return (
+
+
{}} // No close action for a dedicated page
+ items={cartItems.map(item => ({...item, variants: item.variant ? [item.variant] : []}))}
+ onQuantityChange={handleQuantityChange}
+ onRemove={handleRemove}
+ total={getTotalPrice()}
+ title="Your Shopping Cart"
+ emptyMessage="Your cart is currently empty. Start exploring our exquisite collection to find your next luxury item!"
+ buttons={[
+ {
+ text: "Continue Shopping", href: "/"},
+ {
+ text: "Proceed to Checkout", onClick: () => alert("Proceeding to checkout!"), // Placeholder for checkout logic
+ },
+ ]}
+ />
+
+ );
+}
diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx
new file mode 100644
index 0000000..c5cb1e5
--- /dev/null
+++ b/src/app/login/page.tsx
@@ -0,0 +1,138 @@
+"use client";
+
+import { useState } from "react";
+import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
+import ReactLenis from "lenis/react";
+import Input from "@/components/form/Input";
+import ButtonTextStagger from "@/components/button/ButtonTextStagger/ButtonTextStagger";
+import Link from "next/link";
+import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
+import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
+
+export default function LoginPage() {
+ const [email, setEmail] = useState("");
+ const [password, setPassword] = useState("");
+
+ const handleLogin = (e: React.FormEvent) => {
+ e.preventDefault();
+ console.log("Login attempt with:", { email, password });
+ // Implement actual login logic here
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
Login to your Account
+
+
+ Don't have an account?{" "}
+
+ Sign up
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/app/order-history/page.tsx b/src/app/order-history/page.tsx
new file mode 100644
index 0000000..87cdd20
--- /dev/null
+++ b/src/app/order-history/page.tsx
@@ -0,0 +1,119 @@
+"use client";
+
+import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
+import ReactLenis from "lenis/react";
+import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
+import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
+
+export default function OrderHistoryPage() {
+ // Placeholder for order history data
+ const orders = [
+ { id: "ORD001", date: "2024-03-15", total: "$1,250", status: "Delivered", items: ["Chronos Elegance Watch"] },
+ { id: "ORD002", date: "2024-02-28", total: "$450", status: "Shipped", items: ["Versailles Silk Scarf"] },
+ { id: "ORD003", date: "2024-01-10", total: "$8,900", status: "Delivered", items: ["Empress Alligator Handbag"] },
+ ];
+
+ return (
+
+
+
+
+
+
+
+ Your Order History
+ {
+ orders.length === 0 ? (
+ You haven't placed any orders yet.
+ ) : (
+
+ {orders.map((order) => (
+
+
+
Order ID: {order.id}
+ {order.status}
+
+
Date: {order.date}
+
Total: {order.total}
+
+
Items:
+
+ {order.items.map((item, index) => (
+ - {item}
+ ))}
+
+
+
+ ))}
+
+ )
+ }
+
+
+
+
+
+ );
+}
diff --git a/src/app/page.tsx b/src/app/page.tsx
index a978330..dbeca5c 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -34,37 +34,29 @@ export default function LandingPage() {
@@ -75,13 +67,9 @@ export default function LandingPage() {
description="Discover a world of unparalleled luxury and exquisite craftsmanship. Each piece curated for the discerning individual."
buttons={[
{
- text: "Explore Collection",
- href: "#products",
- },
+ text: "Explore Collection", href: "#products"},
{
- text: "Learn Our Story",
- href: "#about",
- },
+ text: "Learn Our Story", href: "#about"},
]}
buttonAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/beautiful-stylish-elegant-silver-wedding-shoes-chair_8353-75.jpg"
@@ -95,23 +83,15 @@ export default function LandingPage() {
useInvertedBackground={true}
heading={[
{
- type: "text",
- content: "Crafting ",
- },
+ type: "text", content: "Crafting "},
{
- type: "text",
- content: "Timeless ",
- },
+ type: "text", content: "Timeless "},
{
- type: "text",
- content: "Luxury",
- },
+ type: "text", content: "Luxury"},
]}
buttons={[
{
- text: "Our Philosophy",
- href: "#",
- },
+ text: "Our Philosophy", href: "#"},
]}
buttonAnimation="slide-up"
/>
@@ -125,61 +105,23 @@ export default function LandingPage() {
useInvertedBackground={false}
products={[
{
- id: "watch-1",
- name: "Chronos Elegance Watch",
- price: "$5,200",
- variant: "Rose Gold",
- imageSrc: "http://img.b2bpic.net/free-photo/groom-fastens-buttons-his-wedding-suit_8353-10664.jpg",
- imageAlt: "Luxury rose gold watch",
- },
+ id: "watch-1", name: "Chronos Elegance Watch", price: "$5,200", variant: "Rose Gold", imageSrc: "http://img.b2bpic.net/free-photo/groom-fastens-buttons-his-wedding-suit_8353-10664.jpg", imageAlt: "Luxury rose gold watch"},
{
- id: "handbag-1",
- name: "Empress Alligator Handbag",
- price: "$8,900",
- variant: "Midnight Black",
- imageSrc: "http://img.b2bpic.net/free-photo/happy-father-s-day-composition-father-s-day-top-view_185193-109773.jpg",
- imageAlt: "Designer alligator handbag",
- },
+ id: "handbag-1", name: "Empress Alligator Handbag", price: "$8,900", variant: "Midnight Black", imageSrc: "http://img.b2bpic.net/free-photo/happy-father-s-day-composition-father-s-day-top-view_185193-109773.jpg", imageAlt: "Designer alligator handbag"},
{
- id: "scarf-1",
- name: "Versailles Silk Scarf",
- price: "$450",
- variant: "Emerald Green",
- imageSrc: "http://img.b2bpic.net/free-photo/top-view-pinecone-beige-shawl-dark-surface_140725-63513.jpg",
- imageAlt: "Elegant silk scarf",
- },
+ id: "scarf-1", name: "Versailles Silk Scarf", price: "$450", variant: "Emerald Green", imageSrc: "http://img.b2bpic.net/free-photo/top-view-pinecone-beige-shawl-dark-surface_140725-63513.jpg", imageAlt: "Elegant silk scarf"},
{
- id: "earrings-1",
- name: "Celestial Diamond Earrings",
- price: "$3,800",
- variant: "Platinum",
- imageSrc: "http://img.b2bpic.net/free-photo/moment-before-kiss-young-beautiful-caucasian-couple-sunny-day-outdoors_8353-10690.jpg",
- imageAlt: "Sparkling diamond earrings",
- },
+ id: "earrings-1", name: "Celestial Diamond Earrings", price: "$3,800", variant: "Platinum", imageSrc: "http://img.b2bpic.net/free-photo/moment-before-kiss-young-beautiful-caucasian-couple-sunny-day-outdoors_8353-10690.jpg", imageAlt: "Sparkling diamond earrings"},
{
- id: "pen-1",
- name: "Sovereign Fountain Pen",
- price: "$1,100",
- variant: "Obsidian Black",
- imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-pen-ai-generated_23-2150695517.jpg",
- imageAlt: "Luxury fountain pen",
- },
+ id: "pen-1", name: "Sovereign Fountain Pen", price: "$1,100", variant: "Obsidian Black", imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-pen-ai-generated_23-2150695517.jpg", imageAlt: "Luxury fountain pen"},
{
- id: "cufflinks-1",
- name: "Aristocrat Cufflinks",
- price: "$680",
- variant: "Sterling Silver",
- imageSrc: "http://img.b2bpic.net/free-photo/grooms-morning-preparation_1328-1774.jpg",
- imageAlt: "Sterling silver cufflinks",
- },
+ id: "cufflinks-1", name: "Aristocrat Cufflinks", price: "$680", variant: "Sterling Silver", imageSrc: "http://img.b2bpic.net/free-photo/grooms-morning-preparation_1328-1774.jpg", imageAlt: "Sterling silver cufflinks"},
]}
title="Our Exquisite Collection"
description="Indulge in our selection of finely crafted pieces, designed to elevate your lifestyle."
buttons={[
{
- text: "View All Products",
- href: "#",
- },
+ text: "View All Products", href: "#"},
]}
buttonAnimation="slide-up"
/>
@@ -192,40 +134,23 @@ export default function LandingPage() {
useInvertedBackground={true}
features={[
{
- id: "feature-1",
- title: "Bespoke Services",
- descriptions: [
- "Tailored creations crafted exclusively for you, ensuring a unique and personal touch.",
- ],
- imageSrc: "http://img.b2bpic.net/free-photo/image-male-hand-pointing-business-document-discussion-meeting_1423-242.jpg",
- imageAlt: "Tailor taking measurements for a bespoke suit",
- },
+ id: "feature-1", title: "Bespoke Services", descriptions: [
+ "Tailored creations crafted exclusively for you, ensuring a unique and personal touch."],
+ imageSrc: "http://img.b2bpic.net/free-photo/image-male-hand-pointing-business-document-discussion-meeting_1423-242.jpg", imageAlt: "Tailor taking measurements for a bespoke suit"},
{
- id: "feature-2",
- title: "Uncompromised Quality",
- descriptions: [
- "We source only the finest materials, guaranteeing durability, beauty, and lasting value.",
- ],
- imageSrc: "http://img.b2bpic.net/free-photo/overhead-view-shiny-pink-green-yellow-diamonds-colored-backdrop_23-2147948773.jpg",
- imageAlt: "Close-up of fine leather texture",
- },
+ id: "feature-2", title: "Uncompromised Quality", descriptions: [
+ "We source only the finest materials, guaranteeing durability, beauty, and lasting value."],
+ imageSrc: "http://img.b2bpic.net/free-photo/overhead-view-shiny-pink-green-yellow-diamonds-colored-backdrop_23-2147948773.jpg", imageAlt: "Close-up of fine leather texture"},
{
- id: "feature-3",
- title: "Exclusive Invitations",
- descriptions: [
- "Gain access to private viewings, launch events, and curated luxury experiences.",
- ],
- imageSrc: "http://img.b2bpic.net/free-photo/mannequins-clothes-shop_23-2147652033.jpg",
- imageAlt: "Guests at an exclusive luxury event",
- },
+ id: "feature-3", title: "Exclusive Invitations", descriptions: [
+ "Gain access to private viewings, launch events, and curated luxury experiences."],
+ imageSrc: "http://img.b2bpic.net/free-photo/mannequins-clothes-shop_23-2147652033.jpg", imageAlt: "Guests at an exclusive luxury event"},
]}
title="Our Signature Excellence"
description="Experience the distinction of Elegance Atelier with services and qualities designed for your utmost satisfaction."
buttons={[
{
- text: "Discover More",
- href: "#",
- },
+ text: "Discover More", href: "#"},
]}
buttonAnimation="slide-up"
/>
@@ -237,65 +162,15 @@ export default function LandingPage() {
useInvertedBackground={false}
testimonials={[
{
- id: "test-1",
- name: "Isabella Rossi",
- date: "March 2024",
- title: "Exquisite Craftsmanship",
- quote: "The handbag I purchased is a true masterpiece. The attention to detail and quality of the leather are simply breathtaking.",
- tag: "Luxury Handbags",
- avatarSrc: "http://img.b2bpic.net/free-photo/gorgeous-smiling-blonde-fashion-model-sits-white-suit-soft-armchair_8353-5476.jpg",
- avatarAlt: "Isabella Rossi's avatar",
- imageSrc: "http://img.b2bpic.net/free-photo/elegant-woman-with-cup-coffee-bag-making-thumbs-up-high-quality-photo_114579-52841.jpg",
- imageAlt: "Woman admiring a luxury handbag",
- },
+ id: "test-1", name: "Isabella Rossi", date: "March 2024", title: "Exquisite Craftsmanship", quote: "The handbag I purchased is a true masterpiece. The attention to detail and quality of the leather are simply breathtaking.", tag: "Luxury Handbags", avatarSrc: "http://img.b2bpic.net/free-photo/gorgeous-smiling-blonde-fashion-model-sits-white-suit-soft-armchair_8353-5476.jpg", avatarAlt: "Isabella Rossi's avatar", imageSrc: "http://img.b2bpic.net/free-photo/elegant-woman-with-cup-coffee-bag-making-thumbs-up-high-quality-photo_114579-52841.jpg", imageAlt: "Woman admiring a luxury handbag"},
{
- id: "test-2",
- name: "Julian Thorne",
- date: "February 2024",
- title: "Unmatched Elegance",
- quote: "My new timepiece from Elegance Atelier is a statement of sophistication. It's more than a watch; it's a legacy.",
- tag: "Fine Watches",
- avatarSrc: "http://img.b2bpic.net/free-photo/confident-young-businessman-modern-luxury-office-generated-by-ai_188544-17326.jpg",
- avatarAlt: "Julian Thorne's avatar",
- imageSrc: "http://img.b2bpic.net/free-photo/cabinetmaker-apprentice-inspecting-lumber-block-damages_482257-84366.jpg",
- imageAlt: "Man wearing a luxury watch",
- },
+ id: "test-2", name: "Julian Thorne", date: "February 2024", title: "Unmatched Elegance", quote: "My new timepiece from Elegance Atelier is a statement of sophistication. It's more than a watch; it's a legacy.", tag: "Fine Watches", avatarSrc: "http://img.b2bpic.net/free-photo/confident-young-businessman-modern-luxury-office-generated-by-ai_188544-17326.jpg", avatarAlt: "Julian Thorne's avatar", imageSrc: "http://img.b2bpic.net/free-photo/cabinetmaker-apprentice-inspecting-lumber-block-damages_482257-84366.jpg", imageAlt: "Man wearing a luxury watch"},
{
- id: "test-3",
- name: "Sophia Dubois",
- date: "January 2024",
- title: "Jewelry Beyond Compare",
- quote: "The diamond earrings are absolutely stunning. Every facet sparkles with exceptional brilliance. A truly special gift.",
- tag: "Precious Jewelry",
- avatarSrc: "http://img.b2bpic.net/free-photo/joyful-lady-with-dark-curly-hair-sunglasses-white-jacket-sitting-stairs-street-happily-looking-camera-while-showing-two-fingers-gesture_574295-5941.jpg",
- avatarAlt: "Sophia Dubois's avatar",
- imageSrc: "http://img.b2bpic.net/free-photo/happy-couple-love-paying-with-credit-card-jewelry-stor_7502-7614.jpg",
- imageAlt: "Woman trying on diamond earrings",
- },
+ id: "test-3", name: "Sophia Dubois", date: "January 2024", title: "Jewelry Beyond Compare", quote: "The diamond earrings are absolutely stunning. Every facet sparkles with exceptional brilliance. A truly special gift.", tag: "Precious Jewelry", avatarSrc: "http://img.b2bpic.net/free-photo/joyful-lady-with-dark-curly-hair-sunglasses-white-jacket-sitting-stairs-street-happily-looking-camera-while-showing-two-fingers-gesture_574295-5941.jpg", avatarAlt: "Sophia Dubois's avatar", imageSrc: "http://img.b2bpic.net/free-photo/happy-couple-love-paying-with-credit-card-jewelry-stor_7502-7614.jpg", imageAlt: "Woman trying on diamond earrings"},
{
- id: "test-4",
- name: "Marcus Chen",
- date: "December 2023",
- title: "Superior Service",
- quote: "The shopping experience was as luxurious as the products. Impressed by the personalized attention and swift delivery.",
- tag: "Exclusive Service",
- avatarSrc: "http://img.b2bpic.net/free-photo/happy-business-woman-standing-with-crossed-arms_23-2148095676.jpg",
- avatarAlt: "Marcus Chen's avatar",
- imageSrc: "http://img.b2bpic.net/free-photo/young-woman-model-posing-with-checkered-plaid-near-christmas-balls_114579-66827.jpg",
- imageAlt: "Woman holding a silk scarf",
- },
+ id: "test-4", name: "Marcus Chen", date: "December 2023", title: "Superior Service", quote: "The shopping experience was as luxurious as the products. Impressed by the personalized attention and swift delivery.", tag: "Exclusive Service", avatarSrc: "http://img.b2bpic.net/free-photo/happy-business-woman-standing-with-crossed-arms_23-2148095676.jpg", avatarAlt: "Marcus Chen's avatar", imageSrc: "http://img.b2bpic.net/free-photo/young-woman-model-posing-with-checkered-plaid-near-christmas-balls_114579-66827.jpg", imageAlt: "Woman holding a silk scarf"},
{
- id: "test-5",
- name: "Eleanor Vance",
- date: "November 2023",
- title: "Investment in Style",
- quote: "Each acquisition from Elegance Atelier feels like an investment in timeless style and impeccable quality. Highly recommended.",
- tag: "Timeless Appeal",
- avatarSrc: "http://img.b2bpic.net/free-photo/low-angle-business-woman-holding-glasses_23-2148317324.jpg",
- avatarAlt: "Eleanor Vance's avatar",
- imageSrc: "http://img.b2bpic.net/free-photo/portrait-middle-aged-blonde-rich-woman-with-banknotes-purse_23-2149668380.jpg",
- imageAlt: "Man browsing a luxury catalog",
- },
+ id: "test-5", name: "Eleanor Vance", date: "November 2023", title: "Investment in Style", quote: "Each acquisition from Elegance Atelier feels like an investment in timeless style and impeccable quality. Highly recommended.", tag: "Timeless Appeal", avatarSrc: "http://img.b2bpic.net/free-photo/low-angle-business-woman-holding-glasses_23-2148317324.jpg", avatarAlt: "Eleanor Vance's avatar", imageSrc: "http://img.b2bpic.net/free-photo/portrait-middle-aged-blonde-rich-woman-with-banknotes-purse_23-2149668380.jpg", imageAlt: "Man browsing a luxury catalog"},
]}
title="Voices of Distinction"
description="Our esteemed clientele share their experiences with Elegance Atelier's unparalleled products and service."
@@ -307,21 +182,12 @@ export default function LandingPage() {
textboxLayout="default"
useInvertedBackground={true}
names={[
- "Vogue",
- "Haute Horlogerie",
- "Noble Estates",
- "Imperial Fashion",
- "Grand Jewels",
- "Elite Tailors",
- "Gourmet & Co.",
- ]}
+ "Vogue", "Haute Horlogerie", "Noble Estates", "Imperial Fashion", "Grand Jewels", "Elite Tailors", "Gourmet & Co."]}
title="Trusted by Luxury Partners"
description="Collaborating with the most prestigious names in high fashion and exquisite craftsmanship."
buttons={[
{
- text: "Partnership Inquiries",
- href: "#contact",
- },
+ text: "Partnership Inquiries", href: "#contact"},
]}
buttonAnimation="slide-up"
/>
@@ -334,69 +200,32 @@ export default function LandingPage() {
useInvertedBackground={false}
plans={[
{
- id: "silver",
- tag: "Essential",
- tagIcon: Star,
- price: "Complimentary",
- period: "for all clients",
- description: "Access to our standard curated collection and seasonal lookbooks.",
- button: {
- text: "Join Silver",
- href: "#",
- },
- featuresTitle: "Includes:",
- features: [
- "Priority Email Support",
- "Member-Exclusive Newsletters",
- "Early Sale Access",
- ],
+ id: "silver", tag: "Essential", tagIcon: Star,
+ price: "Complimentary", period: "for all clients", description: "Access to our standard curated collection and seasonal lookbooks.", button: {
+ text: "Join Silver", href: "#"},
+ featuresTitle: "Includes:", features: [
+ "Priority Email Support", "Member-Exclusive Newsletters", "Early Sale Access"],
},
{
- id: "gold",
- tag: "Elite",
- tagIcon: Award,
- price: "$500",
- period: "per annum",
- description: "Elevate your experience with personalized services and enhanced privileges.",
- button: {
- text: "Upgrade to Gold",
- href: "#",
- },
- featuresTitle: "Everything in Silver, plus:",
- features: [
- "Dedicated Personal Shopper",
- "Invitation to Private Viewings",
- "Complimentary Gift Wrapping",
- "Early Access to New Collections",
- ],
+ id: "gold", tag: "Elite", tagIcon: Award,
+ price: "$500", period: "per annum", description: "Elevate your experience with personalized services and enhanced privileges.", button: {
+ text: "Upgrade to Gold", href: "#"},
+ featuresTitle: "Everything in Silver, plus:", features: [
+ "Dedicated Personal Shopper", "Invitation to Private Viewings", "Complimentary Gift Wrapping", "Early Access to New Collections"],
},
{
- id: "platinum",
- tag: "Prestige",
- tagIcon: Sparkles,
- price: "$2,000",
- period: "per annum",
- description: "The ultimate luxury experience, offering bespoke attention and unparalleled access.",
- button: {
- text: "Enroll in Platinum",
- href: "#",
- },
- featuresTitle: "Everything in Gold, plus:",
- features: [
- "Bespoke Design Consultations",
- "Exclusive Concierge Service",
- "Private Atelier Appointments",
- "First Access to Limited Editions",
- ],
+ id: "platinum", tag: "Prestige", tagIcon: Sparkles,
+ price: "$2,000", period: "per annum", description: "The ultimate luxury experience, offering bespoke attention and unparalleled access.", button: {
+ text: "Enroll in Platinum", href: "#"},
+ featuresTitle: "Everything in Gold, plus:", features: [
+ "Bespoke Design Consultations", "Exclusive Concierge Service", "Private Atelier Appointments", "First Access to Limited Editions"],
},
]}
title="Elegance Club Membership"
description="Unlock exclusive benefits and personalize your luxury experience with our tiered membership options."
buttons={[
{
- text: "View Membership Benefits",
- href: "#",
- },
+ text: "View Membership Benefits", href: "#"},
]}
buttonAnimation="slide-up"
/>
@@ -408,25 +237,13 @@ export default function LandingPage() {
useInvertedBackground={true}
faqs={[
{
- id: "faq-1",
- title: "What is your return policy for luxury items?",
- content: "Due to the exclusive nature of our luxury items, returns are accepted within 14 days of purchase, provided the item is in its original condition with all tags and packaging intact. Bespoke items are non-returnable.",
- },
+ id: "faq-1", title: "What is your return policy for luxury items?", content: "Due to the exclusive nature of our luxury items, returns are accepted within 14 days of purchase, provided the item is in its original condition with all tags and packaging intact. Bespoke items are non-returnable."},
{
- id: "faq-2",
- title: "Do you offer international shipping?",
- content: "Yes, Elegance Atelier provides insured international shipping to most countries. Shipping costs and delivery times vary by destination. Please refer to our shipping policy for details.",
- },
+ id: "faq-2", title: "Do you offer international shipping?", content: "Yes, Elegance Atelier provides insured international shipping to most countries. Shipping costs and delivery times vary by destination. Please refer to our shipping policy for details."},
{
- id: "faq-3",
- title: "How can I authenticate my purchase?",
- content: "Every item from Elegance Atelier comes with a certificate of authenticity and a unique serial number. For further verification, you may contact our customer service team.",
- },
+ id: "faq-3", title: "How can I authenticate my purchase?", content: "Every item from Elegance Atelier comes with a certificate of authenticity and a unique serial number. For further verification, you may contact our customer service team."},
{
- id: "faq-4",
- title: "Do you offer repair or maintenance services?",
- content: "We offer complimentary cleaning and minor repair services for all our products within the first year of purchase. Extended warranties and comprehensive maintenance plans are also available.",
- },
+ id: "faq-4", title: "Do you offer repair or maintenance services?", content: "We offer complimentary cleaning and minor repair services for all our products within the first year of purchase. Extended warranties and comprehensive maintenance plans are also available."},
]}
title="Frequently Asked Questions"
description="Find answers to common inquiries regarding our luxury products, services, and ordering process."
@@ -438,20 +255,15 @@ export default function LandingPage() {
@@ -465,57 +277,39 @@ export default function LandingPage() {
{
items: [
{
- label: "Home",
- href: "#hero",
- },
+ label: "Home", href: "#hero"},
{
- label: "About Us",
- href: "#about",
- },
+ label: "About Us", href: "#about"},
{
- label: "Collections",
- href: "#products",
- },
+ label: "Collections", href: "#products"},
{
- label: "Membership",
- href: "#pricing",
- },
+ label: "Membership", href: "#pricing"},
],
},
{
items: [
{
- label: "Contact",
- href: "#contact",
- },
+ label: "Contact", href: "#contact"},
{
- label: "FAQ",
- href: "#faq",
- },
+ label: "FAQ", href: "#faq"},
{
- label: "Careers",
- href: "#",
- },
+ label: "Login", href: "/login"},
{
- label: "Press",
- href: "#",
- },
+ label: "Signup", href: "/signup"},
+ {
+ label: "Order History", href: "/order-history"},
+ {
+ label: "Account", href: "/account"}
],
},
{
items: [
{
- label: "Privacy Policy",
- href: "#",
- },
+ label: "Privacy Policy", href: "#"},
{
- label: "Terms of Service",
- href: "#",
- },
+ label: "Terms of Service", href: "#"},
{
- label: "Shipping & Returns",
- href: "#",
- },
+ label: "Shipping & Returns", href: "#"},
],
},
]}
diff --git a/src/app/products/page.tsx b/src/app/products/page.tsx
new file mode 100644
index 0000000..3caed35
--- /dev/null
+++ b/src/app/products/page.tsx
@@ -0,0 +1,195 @@
+"use client";
+
+import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
+import ReactLenis from "lenis/react";
+import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
+import ProductCardFour from "@/components/sections/product/ProductCardFour";
+import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
+
+const productsData = [
+ {
+ id: "watch-1", name: "Chronos Elegance Watch", brand: "Elegance Atelier", price: "$5,200", rating: 4.5,
+ reviewCount: "120 reviews", variant: "Rose Gold", description: "A timeless masterpiece combining classic design with modern precision. Featuring a rose gold casing, automatic movement, and a genuine leather strap. Water-resistant up to 50 meters.", imageSrc: "http://img.b2bpic.net/free-photo/groom-fastens-buttons-his-wedding-suit_8353-10664.jpg", imageAlt: "Luxury rose gold watch", images: [
+ { src: "http://img.b2bpic.net/free-photo/groom-fastens-buttons-his-wedding-suit_8353-10664.jpg", alt: "Luxury rose gold watch" },
+ { src: "http://img.b2bpic.net/free-photo/wedding-watch-rings-flowers-shoes-pink-background_140725-63863.jpg", alt: "Watch on display" },
+ { src: "http://img.b2bpic.net/free-photo/men-s-accessories-set-gentleman-wearing-classic-rose-gold-watch-dark-leather-strap-wrist-close-up-view-with-cufflinks-sunglasses-table_23-2148095697.jpg", alt: "Watch detail" }
+ ],
+ variants: [
+ { label: "Color", options: ["Rose Gold", "Silver", "Black"] }
+ ]
+ },
+ {
+ id: "handbag-1", name: "Empress Alligator Handbag", brand: "Elegance Atelier", price: "$8,900", rating: 4.8,
+ reviewCount: "85 reviews", variant: "Midnight Black", description: "Exquisitely crafted from genuine alligator leather, this handbag embodies sophistication. Featuring a spacious interior, gold-tone hardware, and a detachable shoulder strap. Perfect for grand occasions.", imageSrc: "http://img.b2bpic.net/free-photo/happy-father-s-day-composition-father-s-day-top-view_185193-109773.jpg", imageAlt: "Designer alligator handbag", images: [
+ { src: "http://img.b2bpic.net/free-photo/happy-father-s-day-composition-father-s-day-top-view_185193-109773.jpg", alt: "Designer alligator handbag" },
+ { src: "http://img.b2bpic.net/free-photo/leather-handbag_23-2147743936.jpg", alt: "Handbag detail" },
+ { src: "http://img.b2bpic.net/free-photo/luxury-handbag-white-background_23-2147743922.jpg", alt: "Handbag opened" }
+ ],
+ variants: [
+ { label: "Color", options: ["Midnight Black", "Emerald Green", "Ruby Red"] }
+ ]
+ },
+ {
+ id: "scarf-1", name: "Versailles Silk Scarf", brand: "Elegance Atelier", price: "$450", rating: 4.2,
+ reviewCount: "60 reviews", variant: "Emerald Green", description: "A luxurious silk scarf inspired by the gardens of Versailles. Made from 100% pure Mulberry silk, featuring a vibrant emerald green pattern. Adds a touch of refined elegance to any outfit.", imageSrc: "http://img.b2bpic.net/free-photo/top-view-pinecone-beige-shawl-dark-surface_140725-63513.jpg", imageAlt: "Elegant silk scarf", images: [
+ { src: "http://img.b2bpic.net/free-photo/top-view-pinecone-beige-shawl-dark-surface_140725-63513.jpg", alt: "Elegant silk scarf" },
+ { src: "http://img.b2bpic.net/free-photo/flat-lay-elegant-silk-scarf_23-2148671691.jpg", alt: "Scarf pattern" },
+ { src: "http://img.b2bpic.net/free-photo/elegant-silk-scarf-display_23-2148719941.jpg", alt: "Scarf on mannequin" }
+ ],
+ variants: [
+ { label: "Color", options: ["Emerald Green", "Royal Blue", "Crimson Red"] }
+ ]
+ },
+ {
+ id: "earrings-1", name: "Celestial Diamond Earrings", brand: "Elegance Atelier", price: "$3,800", rating: 4.9,
+ reviewCount: "95 reviews", variant: "Platinum", description: "Dazzling diamond earrings crafted in platinum, featuring brilliant-cut diamonds. Each stone is ethically sourced and meticulously set to maximize sparkle. A perfect gift for special occasions.", imageSrc: "http://img.b2bpic.net/free-photo/moment-before-kiss-young-beautiful-caucasian-couple-sunny-day-outdoors_8353-10690.jpg", imageAlt: "Sparkling diamond earrings", images: [
+ { src: "http://img.b2bpic.net/free-photo/moment-before-kiss-young-beautiful-caucasian-couple-sunny-day-outdoors_8353-10690.jpg", alt: "Sparkling diamond earrings" },
+ { src: "http://img.b2bpic.net/free-photo/close-up-diamond-earrings-jewelry_23-2148680798.jpg", alt: "Earrings close-up" },
+ { src: "http://img.b2bpic.net/free-photo/woman-wearing-diamond-earrings_23-2148720000.jpg", alt: "Earrings worn" }
+ ],
+ variants: [
+ { label: "Metal", options: ["Platinum", "White Gold", "Yellow Gold"] }
+ ]
+ },
+ {
+ id: "pen-1", name: "Sovereign Fountain Pen", brand: "Elegance Atelier", price: "$1,100", rating: 4.7,
+ reviewCount: "70 reviews", variant: "Obsidian Black", description: "Experience the art of writing with our Sovereign Fountain Pen. Crafted with a polished obsidian black finish and 18k gold nib, it offers a smooth, luxurious writing experience.", imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-pen-ai-generated_23-2150695517.jpg", imageAlt: "Luxury fountain pen", images: [
+ { src: "http://img.b2bpic.net/free-photo/3d-rendering-pen-ai-generated_23-2150695517.jpg", alt: "Luxury fountain pen" },
+ { src: "http://img.b2bpic.net/free-photo/fountain-pen-writing-pad_23-2147743950.jpg", alt: "Pen with ink" },
+ { src: "http://img.b2bpic.net/free-photo/elegant-writing-utensil_23-2147743945.jpg", alt: "Pen on desk" }
+ ],
+ variants: [
+ { label: "Finish", options: ["Obsidian Black", "Deep Blue", "Emerald Green"] }
+ ]
+ },
+ {
+ id: "cufflinks-1", name: "Aristocrat Cufflinks", brand: "Elegance Atelier", price: "$680", rating: 4.6,
+ reviewCount: "55 reviews", variant: "Sterling Silver", description: "Elevate your formal wear with these meticulously crafted sterling silver cufflinks. Featuring a unique geometric design and a polished finish. A statement of refined taste.", imageSrc: "http://img.b2bpic.net/free-photo/grooms-morning-preparation_1328-1774.jpg", imageAlt: "Sterling silver cufflinks", images: [
+ { src: "http://img.b2bpic.net/free-photo/grooms-morning-preparation_1328-1774.jpg", alt: "Sterling silver cufflinks" },
+ { src: "http://img.b2bpic.net/free-photo/cufflinks-on-white-shirt_23-2147743960.jpg", alt: "Cufflinks close-up" },
+ { src: "http://img.b2bpic.net/free-photo/elegant-cufflinks-on-shirt_23-2147743965.jpg", alt: "Cufflinks on shirt" }
+ ],
+ variants: [
+ { label: "Material", options: ["Sterling Silver", "Rose Gold Plated", "Gold Plated"] }
+ ]
+ },
+];
+
+export default function ProductListingPage() {
+ const productCards = productsData.map(product => ({
+ id: product.id,
+ name: product.name,
+ price: product.price,
+ variant: product.variant,
+ imageSrc: product.imageSrc,
+ imageAlt: product.imageAlt,
+ onProductClick: () => window.location.href = `/products/${product.id}`,
+ }));
+
+ return (
+
+
+
+
+
+
+
+
+
Our Collections
+
Explore our full range of luxury products.
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/app/shop/page.tsx b/src/app/shop/page.tsx
new file mode 100644
index 0000000..2a8d505
--- /dev/null
+++ b/src/app/shop/page.tsx
@@ -0,0 +1,225 @@
+"use client";
+
+import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
+import ReactLenis from "lenis/react";
+import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
+import ProductCardFour from "@/components/sections/product/ProductCardFour";
+import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
+import { useState } from "react";
+
+const productsData = [
+ {
+ id: "watch-1", name: "Chronos Elegance Watch", brand: "Elegance Atelier", price: "$5,200", rating: 4.5,
+ reviewCount: "120 reviews", variant: "Rose Gold", description: "A timeless masterpiece combining classic design with modern precision. Featuring a rose gold casing, automatic movement, and a genuine leather strap. Water-resistant up to 50 meters.", imageSrc: "http://img.b2bpic.net/free-photo/groom-fastens-buttons-his-wedding-suit_8353-10664.jpg", imageAlt: "Luxury rose gold watch", images: [
+ { src: "http://img.b2bpic.net/free-photo/groom-fastens-buttons-his-wedding-suit_8353-10664.jpg", alt: "Luxury rose gold watch" },
+ { src: "http://img.b2bpic.net/free-photo/wedding-watch-rings-flowers-shoes-pink-background_140725-63863.jpg", alt: "Watch on display" },
+ { src: "http://img.b2bpic.net/free-photo/men-s-accessories-set-gentleman-wearing-classic-rose-gold-watch-dark-leather-strap-wrist-close-up-view-with-cufflinks-sunglasses-table_23-2148095697.jpg", alt: "Watch detail" }
+ ],
+ variants: [
+ { label: "Color", options: ["Rose Gold", "Silver", "Black"] }
+ ]
+ },
+ {
+ id: "handbag-1", name: "Empress Alligator Handbag", brand: "Elegance Atelier", price: "$8,900", rating: 4.8,
+ reviewCount: "85 reviews", variant: "Midnight Black", description: "Exquisitely crafted from genuine alligator leather, this handbag embodies sophistication. Featuring a spacious interior, gold-tone hardware, and a detachable shoulder strap. Perfect for grand occasions.", imageSrc: "http://img.b2bpic.net/free-photo/happy-father-s-day-composition-father-s-day-top-view_185193-109773.jpg", imageAlt: "Designer alligator handbag", images: [
+ { src: "http://img.b2bpic.net/free-photo/happy-father-s-day-composition-father-s-day-top-view_185193-109773.jpg", alt: "Designer alligator handbag" },
+ { src: "http://img.b2bpic.net/free-photo/leather-handbag_23-2147743936.jpg", alt: "Handbag detail" },
+ { src: "http://img.b2bpic.net/free-photo/luxury-handbag-white-background_23-2147743922.jpg", alt: "Handbag opened" }
+ ],
+ variants: [
+ { label: "Color", options: ["Midnight Black", "Emerald Green", "Ruby Red"] }
+ ]
+ },
+ {
+ id: "scarf-1", name: "Versailles Silk Scarf", brand: "Elegance Atelier", price: "$450", rating: 4.2,
+ reviewCount: "60 reviews", variant: "Emerald Green", description: "A luxurious silk scarf inspired by the gardens of Versailles. Made from 100% pure Mulberry silk, featuring a vibrant emerald green pattern. Adds a touch of refined elegance to any outfit.", imageSrc: "http://img.b2bpic.net/free-photo/top-view-pinecone-beige-shawl-dark-surface_140725-63513.jpg", imageAlt: "Elegant silk scarf", images: [
+ { src: "http://img.b2bpic.net/free-photo/top-view-pinecone-beige-shawl-dark-surface_140725-63513.jpg", alt: "Elegant silk scarf" },
+ { src: "http://img.b2bpic.net/free-photo/flat-lay-elegant-silk-scarf_23-2148671691.jpg", alt: "Scarf pattern" },
+ { src: "http://img.b2bpic.net/free-photo/elegant-silk-scarf-display_23-2148719941.jpg", alt: "Scarf on mannequin" }
+ ],
+ variants: [
+ { label: "Color", options: ["Emerald Green", "Royal Blue", "Crimson Red"] }
+ ]
+ },
+ {
+ id: "earrings-1", name: "Celestial Diamond Earrings", brand: "Elegance Atelier", price: "$3,800", rating: 4.9,
+ reviewCount: "95 reviews", variant: "Platinum", description: "Dazzling diamond earrings crafted in platinum, featuring brilliant-cut diamonds. Each stone is ethically sourced and meticulously set to maximize sparkle. A perfect gift for special occasions.", imageSrc: "http://img.b2bpic.net/free-photo/moment-before-kiss-young-beautiful-caucasian-couple-sunny-day-outdoors_8353-10690.jpg", imageAlt: "Sparkling diamond earrings", images: [
+ { src: "http://img.b2bpic.net/free-photo/moment-before-kiss-young-beautiful-caucasian-couple-sunny-day-outdoors_8353-10690.jpg", alt: "Sparkling diamond earrings" },
+ { src: "http://img.b2bpic.net/free-photo/close-up-diamond-earrings-jewelry_23-2148680798.jpg", alt: "Earrings close-up" },
+ { src: "http://img.b2bpic.net/free-photo/woman-wearing-diamond-earrings_23-2148720000.jpg", alt: "Earrings worn" }
+ ],
+ variants: [
+ { label: "Metal", options: ["Platinum", "White Gold", "Yellow Gold"] }
+ ]
+ },
+ {
+ id: "pen-1", name: "Sovereign Fountain Pen", brand: "Elegance Atelier", price: "$1,100", rating: 4.7,
+ reviewCount: "70 reviews", variant: "Obsidian Black", description: "Experience the art of writing with our Sovereign Fountain Pen. Crafted with a polished obsidian black finish and 18k gold nib, it offers a smooth, luxurious writing experience.", imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-pen-ai-generated_23-2150695517.jpg", imageAlt: "Luxury fountain pen", images: [
+ { src: "http://img.b2bpic.net/free-photo/3d-rendering-pen-ai-generated_23-2150695517.jpg", alt: "Luxury fountain pen" },
+ { src: "http://img.b2bpic.net/free-photo/fountain-pen-writing-pad_23-2147743950.jpg", alt: "Pen with ink" },
+ { src: "http://img.b2bpic.net/free-photo/elegant-writing-utensil_23-2147743945.jpg", alt: "Pen on desk" }
+ ],
+ variants: [
+ { label: "Finish", options: ["Obsidian Black", "Deep Blue", "Emerald Green"] }
+ ]
+ },
+ {
+ id: "cufflinks-1", name: "Aristocrat Cufflinks", brand: "Elegance Atelier", price: "$680", rating: 4.6,
+ reviewCount: "55 reviews", variant: "Sterling Silver", description: "Elevate your formal wear with these meticulously crafted sterling silver cufflinks. Featuring a unique geometric design and a polished finish. A statement of refined taste.", imageSrc: "http://img.b2bpic.net/free-photo/grooms-morning-preparation_1328-1774.jpg", imageAlt: "Sterling silver cufflinks", images: [
+ { src: "http://img.b2bpic.net/free-photo/grooms-morning-preparation_1328-1774.jpg", alt: "Sterling silver cufflinks" },
+ { src: "http://img.b2bpic.net/free-photo/cufflinks-on-white-shirt_23-2147743960.jpg", alt: "Cufflinks close-up" },
+ { src: "http://img.b2bpic.net/free-photo/elegant-cufflinks-on-shirt_23-2147743965.jpg", alt: "Cufflinks on shirt" }
+ ],
+ variants: [
+ { label: "Material", options: ["Sterling Silver", "Rose Gold Plated", "Gold Plated"] }
+ ]
+ },
+];
+
+export default function ShopPage() {
+ const [filter, setFilter] = useState('All');
+
+ const filteredProducts = productsData.filter(product => {
+ if (filter === 'All') return true;
+ if (filter === 'Watches' && product.id.includes('watch')) return true;
+ if (filter === 'Handbags' && product.id.includes('handbag')) return true;
+ if (filter === 'Jewelry' && (product.id.includes('earrings') || product.id.includes('cufflinks'))) return true;
+ if (filter === 'Accessories' && (product.id.includes('scarf') || product.id.includes('pen'))) return true;
+ return false;
+ });
+
+ const handleFilterChange = (newFilter: string) => {
+ setFilter(newFilter);
+ };
+
+ const shopProducts = filteredProducts.map(product => ({
+ id: product.id,
+ name: product.name,
+ price: product.price,
+ variant: product.variant,
+ imageSrc: product.imageSrc,
+ imageAlt: product.imageAlt,
+ onProductClick: () => window.location.href = `/products/${product.id}`,
+ }));
+
+ return (
+
+
+
+
+
+
+
+
+
Our Shop
+
Browse our curated collection of luxury items.
+
+
+ {['All', 'Watches', 'Handbags', 'Jewelry', 'Accessories'].map(category => (
+
+ ))}
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/app/signup/page.tsx b/src/app/signup/page.tsx
new file mode 100644
index 0000000..9b02eeb
--- /dev/null
+++ b/src/app/signup/page.tsx
@@ -0,0 +1,155 @@
+"use client";
+
+import { useState } from "react";
+import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
+import ReactLenis from "lenis/react";
+import Input from "@/components/form/Input";
+import ButtonTextStagger from "@/components/button/ButtonTextStagger/ButtonTextStagger";
+import Link from "next/link";
+import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
+import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
+
+export default function SignupPage() {
+ const [email, setEmail] = useState("");
+ const [password, setPassword] = useState("");
+ const [confirmPassword, setConfirmPassword] = useState("");
+
+ const handleSignup = (e: React.FormEvent) => {
+ e.preventDefault();
+ if (password !== confirmPassword) {
+ alert("Passwords do not match!");
+ return;
+ }
+ console.log("Signup attempt with:", { email, password });
+ // Implement actual signup logic here
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
Create an Account
+
+
+ Already have an account?{" "}
+
+ Login
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/context/cartContext.tsx b/src/context/cartContext.tsx
new file mode 100644
index 0000000..94c9029
--- /dev/null
+++ b/src/context/cartContext.tsx
@@ -0,0 +1,91 @@
+import React, { createContext, useContext, useState, ReactNode, useEffect } from 'react';
+
+interface CartItem {
+ id: string;
+ name: string;
+ price: string; // Storing as string for display, will parse for calculations
+ quantity: number;
+ imageSrc: string;
+ imageAlt?: string;
+ variant?: string;
+}
+
+interface CartContextType {
+ cartItems: CartItem[];
+ addToCart: (item: Omit) => void;
+ removeFromCart: (id: string) => void;
+ updateQuantity: (id: string, quantity: number) => void;
+ getTotalPrice: () => string;
+}
+
+const CartContext = createContext(undefined);
+
+export const CartProvider = ({ children }: { children: ReactNode }) => {
+ const [cartItems, setCartItems] = useState(() => {
+ if (typeof window !== 'undefined') {
+ const savedCart = localStorage.getItem('cart');
+ return savedCart ? JSON.parse(savedCart) : [];
+ }
+ return [];
+ });
+
+ useEffect(() => {
+ if (typeof window !== 'undefined') {
+ localStorage.setItem('cart', JSON.stringify(cartItems));
+ }
+ }, [cartItems]);
+
+ const addToCart = (item: Omit) => {
+ setCartItems((prevItems) => {
+ const existingItem = prevItems.find((cartItem) => cartItem.id === item.id);
+ if (existingItem) {
+ return prevItems.map((cartItem) =>
+ cartItem.id === item.id
+ ? { ...cartItem, quantity: cartItem.quantity + 1 }
+ : cartItem
+ );
+ } else {
+ return [...prevItems, { ...item, quantity: 1 }];
+ }
+ });
+ };
+
+ const removeFromCart = (id: string) => {
+ setCartItems((prevItems) => prevItems.filter((item) => item.id !== id));
+ };
+
+ const updateQuantity = (id: string, quantity: number) => {
+ setCartItems((prevItems) => {
+ if (quantity <= 0) {
+ return prevItems.filter((item) => item.id !== id);
+ }
+ return prevItems.map((item) =>
+ item.id === id ? { ...item, quantity: quantity } : item
+ );
+ });
+ };
+
+ const getTotalPrice = () => {
+ const total = cartItems.reduce((sum, item) => {
+ const priceValue = parseFloat(item.price.replace(/[^0-9.-]+/g, ""));
+ return sum + priceValue * item.quantity;
+ }, 0);
+ return `$${total.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
+ };
+
+ return (
+
+ {children}
+
+ );
+};
+
+export const useCart = () => {
+ const context = useContext(CartContext);
+ if (context === undefined) {
+ throw new Error('useCart must be used within a CartProvider');
+ }
+ return context;
+};