From aaf3a0dbd4580140c70058cc96a5c693d9e04a7a Mon Sep 17 00:00:00 2001 From: bender Date: Sat, 21 Mar 2026 21:17:13 +0000 Subject: [PATCH 1/8] Update src/app/about/page.tsx --- src/app/about/page.tsx | 252 ++++++++++------------------------------- 1 file changed, 60 insertions(+), 192 deletions(-) diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index caee4dc..8356b4c 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -1,13 +1,12 @@ "use client"; +import Link from "next/link"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple"; import MetricSplitMediaAbout from "@/components/sections/about/MetricSplitMediaAbout"; import FeatureCardTwentyOne from "@/components/sections/feature/FeatureCardTwentyOne"; -import TestimonialCardTwo from "@/components/sections/testimonial/TestimonialCardTwo"; import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis"; -import Link from "next/link"; -import { Heart, CheckCircle, Users } from "lucide-react"; +import { Heart, CheckCircle } from "lucide-react"; export default function AboutPage() { const navItems = [ @@ -17,6 +16,48 @@ export default function AboutPage() { { name: "Contact", id: "contact" }, ]; + const footerColumns = [ + { + items: [ + { label: "Shop", href: "/shop" }, + { label: "New Arrivals", href: "/shop?sort=new" }, + { label: "Collections", href: "/shop?filter=collection" }, + { label: "Sale", href: "/shop?filter=sale" }, + ], + }, + { + items: [ + { label: "About Us", href: "/about" }, + { label: "Our Craft", href: "/about" }, + { label: "Sustainability", href: "/about" }, + { label: "Contact", href: "/contact" }, + ], + }, + { + items: [ + { label: "FAQ", href: "/faq" }, + { label: "Shipping & Returns", href: "/shipping-policy" }, + { label: "Size Guide", href: "/size-guide" }, + { label: "Care Instructions", href: "/care-instructions" }, + ], + }, + { + items: [ + { label: "Instagram", href: "https://instagram.com" }, + { label: "Pinterest", href: "https://pinterest.com" }, + { label: "Facebook", href: "https://facebook.com" }, + { label: "TikTok", href: "https://tiktok.com" }, + ], + }, + { + items: [ + { label: "Privacy Policy", href: "/privacy" }, + { label: "Terms & Conditions", href: "/terms" }, + { label: "Cookie Policy", href: "/cookies" }, + ], + }, + ]; + return ( -
+
-
- -
- ); -} \ No newline at end of file +} -- 2.49.1 From 42c231de71a88d34b8546a52f6130ca8ae44fce5 Mon Sep 17 00:00:00 2001 From: bender Date: Sat, 21 Mar 2026 21:17:14 +0000 Subject: [PATCH 2/8] Add src/app/cart/page.tsx --- src/app/cart/page.tsx | 251 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 251 insertions(+) create mode 100644 src/app/cart/page.tsx diff --git a/src/app/cart/page.tsx b/src/app/cart/page.tsx new file mode 100644 index 0000000..1630f7a --- /dev/null +++ b/src/app/cart/page.tsx @@ -0,0 +1,251 @@ +"use client"; + +import Link from "next/link"; +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple"; +import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis"; +import { useState } from "react"; +import { Trash2, ArrowRight } from "lucide-react"; + +export default function CartPage() { + const navItems = [ + { name: "Home", id: "home" }, + { name: "Shop", id: "shop" }, + { name: "About", id: "about" }, + { name: "Contact", id: "contact" }, + ]; + + const footerColumns = [ + { + items: [ + { label: "Shop", href: "/shop" }, + { label: "New Arrivals", href: "/shop?sort=new" }, + { label: "Collections", href: "/shop?filter=collection" }, + { label: "Sale", href: "/shop?filter=sale" }, + ], + }, + { + items: [ + { label: "About Us", href: "/about" }, + { label: "Our Craft", href: "/about" }, + { label: "Sustainability", href: "/about" }, + { label: "Contact", href: "/contact" }, + ], + }, + { + items: [ + { label: "FAQ", href: "/faq" }, + { label: "Shipping & Returns", href: "/shipping-policy" }, + { label: "Size Guide", href: "/size-guide" }, + { label: "Care Instructions", href: "/care-instructions" }, + ], + }, + { + items: [ + { label: "Instagram", href: "https://instagram.com" }, + { label: "Pinterest", href: "https://pinterest.com" }, + { label: "Facebook", href: "https://facebook.com" }, + { label: "TikTok", href: "https://tiktok.com" }, + ], + }, + { + items: [ + { label: "Privacy Policy", href: "/privacy" }, + { label: "Terms & Conditions", href: "/terms" }, + { label: "Cookie Policy", href: "/cookies" }, + ], + }, + ]; + + const [cartItems, setCartItems] = useState([ + { + id: "dress-linen-white", name: "Ethereal Linen Dress", price: "$185", quantity: 1, + imageSrc: "http://img.b2bpic.net/free-photo/three-ripe-tomatoes-blue-cloth_114579-68525.jpg?_wi=1"}, + { + id: "blouse-embroidery", name: "Embroidered Heritage Blouse", price: "$155", quantity: 2, + imageSrc: "http://img.b2bpic.net/free-photo/portrait-blond-female-with-blue-eyes-white-clothes_613910-10588.jpg?_wi=1"}, + ]); + + const handleRemove = (id: string) => { + setCartItems(cartItems.filter((item) => item.id !== id)); + }; + + const handleQuantityChange = (id: string, quantity: number) => { + if (quantity <= 0) { + handleRemove(id); + } else { + setCartItems( + cartItems.map((item) => + item.id === id ? { ...item, quantity } : item + ) + ); + } + }; + + const calculateTotal = () => { + return cartItems.reduce((sum, item) => { + const price = parseFloat(item.price.replace("$", "")); + return sum + price * item.quantity; + }, 0); + }; + + const total = calculateTotal().toFixed(2); + + return ( + + + +
+
+
+

Shopping Cart

+

Review your selected handmade pieces before checkout

+
+ + {cartItems.length === 0 ? ( +
+

Your cart is empty

+ + Continue Shopping + + +
+ ) : ( +
+
+
+ {cartItems.map((item) => ( +
+
+ {item.name} +
+
+

{item.name}

+

{item.price}

+
+ +
+ + + handleQuantityChange( + item.id, + parseInt(e.target.value) || 1 + ) + } + className="w-12 px-2 py-1 text-center border-l border-r border-foreground/20 bg-transparent outline-none" + /> + +
+
+
+ +
+ ))} +
+
+ +
+
+

Order Summary

+
+ {cartItems.map((item) => ( +
+ + {item.name} x{item.quantity} + + + ${( + parseFloat(item.price.replace("$", "")) * + item.quantity + ).toFixed(2)} + +
+ ))} +
+
+
+ Subtotal + ${total} +
+
+ Shipping + Calculated at checkout +
+
+ Estimated Total + ${total} +
+
+ + Proceed to Checkout + + + Continue Shopping + +
+
+
+ )} +
+
+ + +
+ ); +} -- 2.49.1 From bd0b822984ae0121c1e915871a0d5cf4e7625043 Mon Sep 17 00:00:00 2001 From: bender Date: Sat, 21 Mar 2026 21:17:14 +0000 Subject: [PATCH 3/8] Add src/app/checkout/page.tsx --- src/app/checkout/page.tsx | 353 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 353 insertions(+) create mode 100644 src/app/checkout/page.tsx diff --git a/src/app/checkout/page.tsx b/src/app/checkout/page.tsx new file mode 100644 index 0000000..243bcba --- /dev/null +++ b/src/app/checkout/page.tsx @@ -0,0 +1,353 @@ +"use client"; + +import Link from "next/link"; +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple"; +import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis"; +import { useState } from "react"; +import { CheckCircle, Lock, Shield } from "lucide-react"; + +export default function CheckoutPage() { + const navItems = [ + { name: "Home", id: "home" }, + { name: "Shop", id: "shop" }, + { name: "About", id: "about" }, + { name: "Contact", id: "contact" }, + ]; + + const footerColumns = [ + { + items: [ + { label: "Shop", href: "/shop" }, + { label: "New Arrivals", href: "/shop?sort=new" }, + { label: "Collections", href: "/shop?filter=collection" }, + { label: "Sale", href: "/shop?filter=sale" }, + ], + }, + { + items: [ + { label: "About Us", href: "/about" }, + { label: "Our Craft", href: "/about" }, + { label: "Sustainability", href: "/about" }, + { label: "Contact", href: "/contact" }, + ], + }, + { + items: [ + { label: "FAQ", href: "/faq" }, + { label: "Shipping & Returns", href: "/shipping-policy" }, + { label: "Size Guide", href: "/size-guide" }, + { label: "Care Instructions", href: "/care-instructions" }, + ], + }, + { + items: [ + { label: "Instagram", href: "https://instagram.com" }, + { label: "Pinterest", href: "https://pinterest.com" }, + { label: "Facebook", href: "https://facebook.com" }, + { label: "TikTok", href: "https://tiktok.com" }, + ], + }, + { + items: [ + { label: "Privacy Policy", href: "/privacy" }, + { label: "Terms & Conditions", href: "/terms" }, + { label: "Cookie Policy", href: "/cookies" }, + ], + }, + ]; + + const [orderComplete, setOrderComplete] = useState(false); + const [formData, setFormData] = useState({ + email: "", firstName: "", lastName: "", address: "", city: "", state: "", zipCode: "", country: "", cardNumber: "", cardExpiry: "", cardCvc: ""}); + + const handleInputChange = (e: React.ChangeEvent) => { + const { name, value } = e.target; + setFormData((prev) => ({ ...prev, [name]: value })); + }; + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + setOrderComplete(true); + }; + + const total = "$340.00"; + + return ( + + + +
+
+ {orderComplete ? ( +
+
+ +
+

Order Confirmed!

+

Thank you for your purchase

+

+ Order confirmation has been sent to your email +

+ + Continue Shopping + +
+ ) : ( + <> +
+

Checkout

+

Complete your purchase securely

+
+ +
+
+
+ {/* Contact Information */} +
+

Contact Information

+
+ + +
+
+ + {/* Shipping Address */} +
+

Shipping Address

+
+
+ + +
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+ + {/* Payment Information */} +
+

+ + Payment Information +

+
+ + +
+
+
+ + +
+
+ + +
+
+
+ + {/* Security Badge */} +
+ + Your payment information is encrypted and secure +
+
+
+ + {/* Order Summary */} +
+
+

Order Summary

+
+
+ Ethereal Linen Dress x1 + $185.00 +
+
+ Embroidered Heritage Blouse x2 + $310.00 +
+
+
+
+ Subtotal + $495.00 +
+
+ Shipping + -$155.00 +
+
+ Tax + $0.00 +
+
+
+ Total + {total} +
+ + + Return to Cart + +
+
+
+ + )} +
+
+ + +
+ ); +} -- 2.49.1 From 5f586b8d5897d354ec21c2140802a6d8e2cf00de Mon Sep 17 00:00:00 2001 From: bender Date: Sat, 21 Mar 2026 21:17:14 +0000 Subject: [PATCH 4/8] Update src/app/contact/page.tsx --- src/app/contact/page.tsx | 235 +++++++++++++++++++++++++++++---------- 1 file changed, 177 insertions(+), 58 deletions(-) diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx index 4488bd6..05d468d 100644 --- a/src/app/contact/page.tsx +++ b/src/app/contact/page.tsx @@ -1,11 +1,12 @@ "use client"; +import Link from "next/link"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple"; import ContactCenter from "@/components/sections/contact/ContactCenter"; import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis"; -import Link from "next/link"; -import { Mail, Heart, CheckCircle, Star, Users, HelpCircle } from "lucide-react"; +import { Mail, Phone, MapPin } from "lucide-react"; +import { useState } from "react"; export default function ContactPage() { const navItems = [ @@ -35,7 +36,7 @@ export default function ContactPage() { { items: [ { label: "FAQ", href: "/faq" }, - { label: "Shipping & Returns", href: "/shipping-returns" }, + { label: "Shipping & Returns", href: "/shipping-policy" }, { label: "Size Guide", href: "/size-guide" }, { label: "Care Instructions", href: "/care-instructions" }, ], @@ -57,6 +58,23 @@ export default function ContactPage() { }, ]; + const [formData, setFormData] = useState({ + name: "", email: "", subject: "", message: ""}); + + const [submitted, setSubmitted] = useState(false); + + const handleChange = (e: React.ChangeEvent) => { + const { name, value } = e.target; + setFormData((prev) => ({ ...prev, [name]: value })); + }; + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + setSubmitted(true); + setFormData({ name: "", email: "", subject: "", message: "" }); + setTimeout(() => setSubmitted(false), 3000); + }; + return ( -
+
+
+
+

Get In Touch

+

+ We'd love to hear from you. Send us a message and we'll respond as soon as possible. +

+
+ +
+ {/* Contact Info Cards */} +
+
+ +

Email

+
+

hello@artisanandco.com

+

We'll respond within 24 hours

+
+ +
+
+ +

Phone

+
+

+1 (555) 123-4567

+

Monday–Friday, 9am–6pm EST

+
+ +
+
+ +

Studio

+
+

123 Artisan Lane

+

New York, NY 10001

+
+
+ + {/* Contact Form */} +
+
+

Send us a Message

+
+
+ + +
+
+ + +
+
+ + +
+
+ +