From 73637e5dea7b6aa70a4e023c22cc0e7539eadead Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 13 Mar 2026 19:41:00 +0000 Subject: [PATCH 1/5] Add src/app/admin/page.tsx --- src/app/admin/page.tsx | 362 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 362 insertions(+) create mode 100644 src/app/admin/page.tsx diff --git a/src/app/admin/page.tsx b/src/app/admin/page.tsx new file mode 100644 index 0000000..9bec153 --- /dev/null +++ b/src/app/admin/page.tsx @@ -0,0 +1,362 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline"; +import TextBox from "@/components/Textbox"; +import { BarChart3, TrendingUp, Package, DollarSign, Percent, AlertCircle } from "lucide-react"; +import { useState } from "react"; + +interface Order { + id: string; + orderNumber: string; + customer: string; + date: string; + total: number; + status: "pending" | "shipped" | "delivered" | "cancelled"; + items: number; +} + +interface Discount { + id: string; + code: string; + description: string; + discountPercentage: number; + expiryDate: string; + active: boolean; + usageCount: number; +} + +export default function AdminDashboard() { + const navItems = [ + { name: "Dashboard", id: "dashboard" }, + { name: "Orders", id: "orders" }, + { name: "Revenue", id: "revenue" }, + { name: "Discounts", id: "discounts" }, + { name: "Products", id: "products" }, + ]; + + const [orders, setOrders] = useState([ + { + id: "1", orderNumber: "ORD-001", customer: "John Doe", date: "2025-01-15", total: 249.99, + status: "delivered", items: 3, + }, + { + id: "2", orderNumber: "ORD-002", customer: "Jane Smith", date: "2025-01-14", total: 179.50, + status: "shipped", items: 2, + }, + { + id: "3", orderNumber: "ORD-003", customer: "Mike Johnson", date: "2025-01-13", total: 89.99, + status: "pending", items: 1, + }, + { + id: "4", orderNumber: "ORD-004", customer: "Sarah Williams", date: "2025-01-12", total: 599.99, + status: "delivered", items: 5, + }, + { + id: "5", orderNumber: "ORD-005", customer: "Alex Brown", date: "2025-01-11", total: 129.99, + status: "cancelled", items: 1, + }, + ]); + + const [discounts, setDiscounts] = useState([ + { + id: "1", code: "WELCOME10", description: "10% off first purchase", discountPercentage: 10, + expiryDate: "2025-12-31", active: true, + usageCount: 245, + }, + { + id: "2", code: "SUMMER20", description: "20% off summer collection", discountPercentage: 20, + expiryDate: "2025-08-31", active: true, + usageCount: 128, + }, + { + id: "3", code: "FLASH15", description: "15% flash sale", discountPercentage: 15, + expiryDate: "2025-01-20", active: true, + usageCount: 567, + }, + { + id: "4", code: "OLDCODE5", description: "Expired promotional code", discountPercentage: 5, + expiryDate: "2024-12-31", active: false, + usageCount: 89, + }, + ]); + + const totalRevenue = orders.reduce((sum, order) => sum + order.total, 0); + const totalOrders = orders.length; + const deliveredOrders = orders.filter((o) => o.status === "delivered").length; + const pendingOrders = orders.filter((o) => o.status === "pending").length; + const totalDiscountUsage = discounts.reduce((sum, d) => sum + d.usageCount, 0); + const activeDiscounts = discounts.filter((d) => d.active).length; + + const getStatusColor = (status: Order["status"]): string => { + switch (status) { + case "delivered": + return "bg-green-100 text-green-800"; + case "shipped": + return "bg-blue-100 text-blue-800"; + case "pending": + return "bg-yellow-100 text-yellow-800"; + case "cancelled": + return "bg-red-100 text-red-800"; + default: + return "bg-gray-100 text-gray-800"; + } + }; + + const handleToggleDiscount = (id: string) => { + setDiscounts( + discounts.map((d) => (d.id === id ? { ...d, active: !d.active } : d)) + ); + }; + + return ( + + + +
+
+ {/* Dashboard Header */} +
+ +
+ + {/* KPI Cards */} +
+
+
+
+

Total Orders

+

+ {totalOrders} +

+
+ +
+

+ {deliveredOrders} delivered, {pendingOrders} pending +

+
+ +
+
+
+

Total Revenue

+

+ ${totalRevenue.toFixed(2)} +

+
+ +
+

From {totalOrders} orders

+
+ +
+
+
+

Active Discounts

+

+ {activeDiscounts} +

+
+ +
+

+ {totalDiscountUsage} total uses +

+
+ +
+
+
+

Avg Order Value

+

+ ${(totalRevenue / totalOrders).toFixed(2)} +

+
+ +
+

Per transaction

+
+
+ + {/* Orders Section */} +
+
+

+ + Recent Orders +

+
+ + + + + + + + + + + + + {orders.map((order) => ( + + + + + + + + + ))} + +
+ Order # + + Customer + + Date + + Items + + Total + + Status +
+ {order.orderNumber} + {order.customer}{order.date}{order.items} + ${order.total.toFixed(2)} + + + {order.status} + +
+
+
+
+ + {/* Revenue Section */} +
+
+

+ +
+
+

Total Revenue

+

+ ${totalRevenue.toFixed(2)} +

+
+
+

Delivered Orders

+

+ ${orders + .filter((o) => o.status === "delivered") + .reduce((sum, o) => sum + o.total, 0) + .toFixed(2)} +

+
+
+

Pending Orders

+

+ ${orders + .filter((o) => o.status === "pending") + .reduce((sum, o) => sum + o.total, 0) + .toFixed(2)} +

+
+
+

+
+ + {/* Discounts Section */} +
+
+

+ + Promotional Discounts +

+
+ {discounts.map((discount) => ( +
+
+
+

+ {discount.code} +

+ + {discount.active ? "Active" : "Inactive"} + + {!discount.active && } +
+

{discount.description}

+
+ Discount: {discount.discountPercentage}% + Expires: {discount.expiryDate} + Used: {discount.usageCount} times +
+
+ +
+ ))} +
+
+
+
+
+
+ ); +} -- 2.49.1 From 8339a6856ef8d806365744d1531f4f1224f585f4 Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 13 Mar 2026 19:41:01 +0000 Subject: [PATCH 2/5] Update src/app/page.tsx --- src/app/page.tsx | 376 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 300 insertions(+), 76 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 1b57ff1..2f9c4fa 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -10,9 +10,24 @@ import TestimonialCardFifteen from "@/components/sections/testimonial/Testimonia import ContactCenter from "@/components/sections/contact/ContactCenter"; import FaqDouble from "@/components/sections/faq/FaqDouble"; import FooterBaseCard from "@/components/sections/footer/FooterBaseCard"; -import { Sparkles, Zap, Award, Star, HelpCircle, Mail } from "lucide-react"; +import { Sparkles, Zap, Award, Star, HelpCircle, Mail, Heart } from "lucide-react"; +import { useState } from "react"; export default function HomePage() { + const [wishlist, setWishlist] = useState>(new Set()); + + const toggleWishlist = (productId: string) => { + setWishlist((prev) => { + const updated = new Set(prev); + if (updated.has(productId)) { + updated.delete(productId); + } else { + updated.add(productId); + } + return updated; + }); + }; + const navItems = [ { name: "Home", id: "home" }, { name: "Shop", id: "shop" }, @@ -58,6 +73,80 @@ export default function HomePage() { }, ]; + const featuredProducts = [ + { + id: "prod-001", brand: "Nike", name: "Air Max 90 Classic", price: "$129.99", rating: 4.8, + reviewCount: "342", imageSrc: "http://img.b2bpic.net/free-photo/athletic-girl-standing-stairs-tying-shoelaces_23-2148264960.jpg?_wi=2", imageAlt: "Nike Air Max 90 sneaker in white and grey", isFavorited: wishlist.has("prod-001"), + onFavorite: () => toggleWishlist("prod-001"), + }, + { + id: "prod-002", brand: "Supreme", name: "Box Logo Hoodie", price: "$345.00", rating: 4.9, + reviewCount: "521", imageSrc: "http://img.b2bpic.net/free-photo/afro-hair-style-doing-okay-gesture_140725-36572.jpg?_wi=2", imageAlt: "Supreme black box logo hoodie", isFavorited: wishlist.has("prod-002"), + onFavorite: () => toggleWishlist("prod-002"), + }, + { + id: "prod-003", brand: "Carhartt WIP", name: "Detroit Jacket", price: "$159.99", rating: 4.7, + reviewCount: "189", imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-smiling-brunette-model-dressed-summer-hipster-jacket-jeans-clothes_158538-1617.jpg?_wi=2", imageAlt: "Carhartt WIP brown Detroit work jacket", isFavorited: wishlist.has("prod-003"), + onFavorite: () => toggleWishlist("prod-003"), + }, + { + id: "prod-004", brand: "Stüssy", name: "Classic T-Shirt", price: "$48.00", rating: 4.6, + reviewCount: "276", imageSrc: "http://img.b2bpic.net/free-photo/t-shirt-painting-indoors-still-life_23-2150572721.jpg?_wi=2", imageAlt: "Stüssy white classic logo t-shirt", isFavorited: wishlist.has("prod-004"), + onFavorite: () => toggleWishlist("prod-004"), + }, + { + id: "prod-005", brand: "Adidas", name: "Ultra Boost 22", price: "$189.99", rating: 4.8, + reviewCount: "437", imageSrc: "http://img.b2bpic.net/free-photo/side-view-sports-shoes_23-2147618070.jpg", imageAlt: "Adidas Ultra Boost 22 in black", isFavorited: wishlist.has("prod-005"), + onFavorite: () => toggleWishlist("prod-005"), + }, + { + id: "prod-006", brand: "The North Face", name: "Nuptse Jacket", price: "$229.99", rating: 4.9, + reviewCount: "654", imageSrc: "http://img.b2bpic.net/free-photo/young-man-listening-music-headphones-close-up_23-2148381737.jpg?_wi=2", imageAlt: "The North Face Nuptse puffer jacket in black", isFavorited: wishlist.has("prod-006"), + onFavorite: () => toggleWishlist("prod-006"), + }, + ]; + + const newArrivalsProducts = [ + { + id: "prod-007", brand: "Nike", name: "Jordan 1 Low OG", price: "$99.99", rating: 4.7, + reviewCount: "128", imageSrc: "http://img.b2bpic.net/free-photo/close-up-man-s-legs-keds-going-down-stairs_176420-55081.jpg", imageAlt: "Jordan 1 Low OG sneaker", isFavorited: wishlist.has("prod-007"), + onFavorite: () => toggleWishlist("prod-007"), + }, + { + id: "prod-008", brand: "Supreme", name: "Arc Logo Cap", price: "$68.00", rating: 4.5, + reviewCount: "95", imageSrc: "http://img.b2bpic.net/free-photo/young-man-putting-hand-cap-white-t-shirt-jacket-gray-cap-looking-serious-front-view_176474-84297.jpg", imageAlt: "Supreme arc logo baseball cap", isFavorited: wishlist.has("prod-008"), + onFavorite: () => toggleWishlist("prod-008"), + }, + { + id: "prod-009", brand: "Stüssy", name: "Fleece Pullover", price: "$98.00", rating: 4.8, + reviewCount: "203", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-smiling-woman-stands-by-tree_8353-9397.jpg", imageAlt: "Stüssy fleece pullover in grey", isFavorited: wishlist.has("prod-009"), + onFavorite: () => toggleWishlist("prod-009"), + }, + ]; + + const bestSellersProducts = [ + { + id: "prod-010", brand: "Adidas", name: "Stan Smith Classic", price: "$89.99", rating: 4.9, + reviewCount: "1,240", imageSrc: "http://img.b2bpic.net/free-photo/new-pair-white-sneakers-isolated-white_93675-130969.jpg?_wi=2", imageAlt: "Adidas Stan Smith white leather sneaker", isFavorited: wishlist.has("prod-010"), + onFavorite: () => toggleWishlist("prod-010"), + }, + { + id: "prod-011", brand: "The North Face", name: "Denali Fleece", price: "$99.99", rating: 4.8, + reviewCount: "856", imageSrc: "http://img.b2bpic.net/free-photo/young-hipster-man-hiking-mountains-winter-vacation-traveling_285396-1955.jpg", imageAlt: "The North Face Denali fleece jacket", isFavorited: wishlist.has("prod-011"), + onFavorite: () => toggleWishlist("prod-011"), + }, + { + id: "prod-012", brand: "Carhartt WIP", name: "Simple Pant", price: "$54.99", rating: 4.7, + reviewCount: "742", imageSrc: "http://img.b2bpic.net/free-photo/cropped-stock-photo-unrecognizable-woman-white-shirt-formal-black-straight-trousers-black-leather-heels-standing-street-fashion-model-dresscode-concept_132075-9150.jpg", imageAlt: "Carhartt WIP simple pant in black", isFavorited: wishlist.has("prod-012"), + onFavorite: () => toggleWishlist("prod-012"), + }, + { + id: "prod-013", brand: "Vans", name: "Old Skool", price: "$65.00", rating: 4.9, + reviewCount: "1,567", imageSrc: "http://img.b2bpic.net/free-photo/people-80s-aesthetic-summer-clothing_23-2151016254.jpg", imageAlt: "Vans Old Skool classic skateboard shoe", isFavorited: wishlist.has("prod-013"), + onFavorite: () => toggleWishlist("prod-013"), + }, + ]; + return ( + + @@ -95,15 +346,19 @@ export default function HomePage() { background={{ variant: "plain" }} leftCarouselItems={[ { - imageSrc: "http://img.b2bpic.net/free-photo/close-up-details-woman-dressed-white-dress-sitting-summer-open-air-theatre-chair-alone-spring-street-style-fashion-trend-accessories-traveling-with-backpack-skinny-legs-sandals_285396-4543.jpg?_wi=2", imageAlt: "luxury premium sneakers white grey leather"}, + imageSrc: "http://img.b2bpic.net/free-photo/close-up-details-woman-dressed-white-dress-sitting-summer-open-air-theatre-chair-alone-spring-street-style-fashion-trend-accessories-traveling-with-backpack-skinny-legs-sandals_285396-4543.jpg?_wi=2", imageAlt: "luxury premium sneakers white grey leather" + }, { - imageSrc: "http://img.b2bpic.net/free-photo/top-view-accessoires-travel-with-man-clothing-concept-shirt-jean-mobile-phone-wooden-background-watch-sunglasses-shoes-wood-table_1921-79.jpg?_wi=2", imageAlt: "luxury fashion accessories collection display"}, + imageSrc: "http://img.b2bpic.net/free-photo/top-view-accessoires-travel-with-man-clothing-concept-shirt-jean-mobile-phone-wooden-background-watch-sunglasses-shoes-wood-table_1921-79.jpg?_wi=2", imageAlt: "luxury fashion accessories collection display" + }, ]} rightCarouselItems={[ { - imageSrc: "http://img.b2bpic.net/free-photo/young-woman-wearing-trucker-hat_23-2149432326.jpg?_wi=2", imageAlt: "streetwear clothing collection hoodies jackets"}, + imageSrc: "http://img.b2bpic.net/free-photo/young-woman-wearing-trucker-hat_23-2149432326.jpg?_wi=2", imageAlt: "streetwear clothing collection hoodies jackets" + }, { - imageSrc: "http://img.b2bpic.net/free-photo/pleased-well-dressed-male-model-sitting-stairs-fashionable-african-guy-enjoying-photoshoot-steps_197531-22070.jpg?_wi=2", imageAlt: "designer clothing collection luxury brands"}, + imageSrc: "http://img.b2bpic.net/free-photo/pleased-well-dressed-male-model-sitting-stairs-fashionable-african-guy-enjoying-photoshoot-steps_197531-22070.jpg?_wi=2", imageAlt: "designer clothing collection luxury brands" + }, ]} buttons={[ { text: "Start Shopping", href: "/shop" }, @@ -124,6 +379,7 @@ export default function HomePage() { marqueeSpeed={35} showMarqueeCard={true} ariaLabel="Hero section featuring garraagarmzz brand identity and featured products" + className="transition-all duration-500 hover:scale-105" /> @@ -138,36 +394,13 @@ export default function HomePage() { useInvertedBackground={false} gridVariant="bento-grid" animationType="slide-up" - products={[ - { - id: "prod-001", brand: "Nike", name: "Air Max 90 Classic", price: "$129.99", rating: 4.8, - reviewCount: "342", imageSrc: "http://img.b2bpic.net/free-photo/athletic-girl-standing-stairs-tying-shoelaces_23-2148264960.jpg?_wi=2", imageAlt: "Nike Air Max 90 sneaker in white and grey", isFavorited: false, - }, - { - id: "prod-002", brand: "Supreme", name: "Box Logo Hoodie", price: "$345.00", rating: 4.9, - reviewCount: "521", imageSrc: "http://img.b2bpic.net/free-photo/afro-hair-style-doing-okay-gesture_140725-36572.jpg?_wi=2", imageAlt: "Supreme black box logo hoodie", isFavorited: false, - }, - { - id: "prod-003", brand: "Carhartt WIP", name: "Detroit Jacket", price: "$159.99", rating: 4.7, - reviewCount: "189", imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-smiling-brunette-model-dressed-summer-hipster-jacket-jeans-clothes_158538-1617.jpg?_wi=2", imageAlt: "Carhartt WIP brown Detroit work jacket", isFavorited: false, - }, - { - id: "prod-004", brand: "Stüssy", name: "Classic T-Shirt", price: "$48.00", rating: 4.6, - reviewCount: "276", imageSrc: "http://img.b2bpic.net/free-photo/t-shirt-painting-indoors-still-life_23-2150572721.jpg?_wi=2", imageAlt: "Stüssy white classic logo t-shirt", isFavorited: false, - }, - { - id: "prod-005", brand: "Adidas", name: "Ultra Boost 22", price: "$189.99", rating: 4.8, - reviewCount: "437", imageSrc: "http://img.b2bpic.net/free-photo/side-view-sports-shoes_23-2147618070.jpg", imageAlt: "Adidas Ultra Boost 22 in black", isFavorited: false, - }, - { - id: "prod-006", brand: "The North Face", name: "Nuptse Jacket", price: "$229.99", rating: 4.9, - reviewCount: "654", imageSrc: "http://img.b2bpic.net/free-photo/young-man-listening-music-headphones-close-up_23-2148381737.jpg?_wi=2", imageAlt: "The North Face Nuptse puffer jacket in black", isFavorited: false, - }, - ]} + products={featuredProducts} buttons={[{ text: "View All", href: "/shop" }]} buttonAnimation="slide-up" carouselMode="buttons" ariaLabel="Featured products carousel" + cardClassName="transition-all duration-300 hover:shadow-xl hover:-translate-y-2" + imageClassName="transition-transform duration-500 hover:scale-110" /> @@ -181,14 +414,17 @@ export default function HomePage() { textboxLayout="default" useInvertedBackground={true} names={[ - "Nike", "Adidas", "Supreme", "Stüssy", "Carhartt WIP", "The North Face", "Balenciaga", "Dickies", "Vans", "Converse"]} + "Nike", "Adidas", "Supreme", "Stüssy", "Carhartt WIP", "The North Face", "Balenciaga", "Dickies", "Vans", "Converse" + ]} logos={[ - "http://img.b2bpic.net/free-vector/ballet-studio-logo-template-design_742173-17939.jpg", "http://img.b2bpic.net/free-vector/flat-design-outlet-stamp-collection_23-2149752880.jpg", "http://img.b2bpic.net/free-vector/flat-design-gratis-label-collection_23-2149889390.jpg", "http://img.b2bpic.net/free-vector/vintage-label-design-with-lettering-composition_1284-52940.jpg", "http://img.b2bpic.net/free-vector/labor-day-badge-collection_23-2148094629.jpg", "http://img.b2bpic.net/free-vector/hand-drawn-adventure-badges-nature_23-2147543057.jpg", "http://img.b2bpic.net/free-vector/luxury-logo-design-template_23-2150881456.jpg", "http://img.b2bpic.net/free-vector/vintage-label-design-with-lettering-composition-dark_1284-44291.jpg", "http://img.b2bpic.net/free-vector/set-drawings_1284-45834.jpg", "http://img.b2bpic.net/free-photo/view-skateboard-with-retro-memorabilia_23-2150583922.jpg"]} + "http://img.b2bpic.net/free-vector/ballet-studio-logo-template-design_742173-17939.jpg", "http://img.b2bpic.net/free-vector/flat-design-outlet-stamp-collection_23-2149752880.jpg", "http://img.b2bpic.net/free-vector/flat-design-gratis-label-collection_23-2149889390.jpg", "http://img.b2bpic.net/free-vector/vintage-label-design-with-lettering-composition_1284-52940.jpg", "http://img.b2bpic.net/free-vector/labor-day-badge-collection_23-2148094629.jpg", "http://img.b2bpic.net/free-vector/hand-drawn-adventure-badges-nature_23-2147543057.jpg", "http://img.b2bpic.net/free-vector/luxury-logo-design-template_23-2150881456.jpg", "http://img.b2bpic.net/free-vector/vintage-label-design-with-lettering-composition-dark_1284-44291.jpg", "http://img.b2bpic.net/free-vector/set-drawings_1284-45834.jpg", "http://img.b2bpic.net/free-photo/view-skateboard-with-retro-memorabilia_23-2150583922.jpg" + ]} buttons={[{ text: "Explore All Brands", href: "/shop" }]} buttonAnimation="slide-up" speed={40} showCard={true} ariaLabel="Partner brands marquee" + logoItemClassName="transition-all duration-300 hover:scale-110 hover:shadow-lg" /> @@ -203,24 +439,13 @@ export default function HomePage() { useInvertedBackground={false} gridVariant="three-columns-all-equal-width" animationType="blur-reveal" - products={[ - { - id: "prod-007", brand: "Nike", name: "Jordan 1 Low OG", price: "$99.99", rating: 4.7, - reviewCount: "128", imageSrc: "http://img.b2bpic.net/free-photo/close-up-man-s-legs-keds-going-down-stairs_176420-55081.jpg", imageAlt: "Jordan 1 Low OG sneaker", isFavorited: false, - }, - { - id: "prod-008", brand: "Supreme", name: "Arc Logo Cap", price: "$68.00", rating: 4.5, - reviewCount: "95", imageSrc: "http://img.b2bpic.net/free-photo/young-man-putting-hand-cap-white-t-shirt-jacket-gray-cap-looking-serious-front-view_176474-84297.jpg", imageAlt: "Supreme arc logo baseball cap", isFavorited: false, - }, - { - id: "prod-009", brand: "Stüssy", name: "Fleece Pullover", price: "$98.00", rating: 4.8, - reviewCount: "203", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-smiling-woman-stands-by-tree_8353-9397.jpg", imageAlt: "Stüssy fleece pullover in grey", isFavorited: false, - }, - ]} + products={newArrivalsProducts} buttons={[{ text: "See All New Items", href: "/shop" }]} buttonAnimation="slide-up" carouselMode="buttons" ariaLabel="New arrivals section" + cardClassName="transition-all duration-300 hover:shadow-xl hover:-translate-y-2" + imageClassName="transition-transform duration-500 hover:scale-110" /> @@ -235,28 +460,13 @@ export default function HomePage() { useInvertedBackground={true} gridVariant="four-items-2x2-equal-grid" animationType="scale-rotate" - products={[ - { - id: "prod-010", brand: "Adidas", name: "Stan Smith Classic", price: "$89.99", rating: 4.9, - reviewCount: "1,240", imageSrc: "http://img.b2bpic.net/free-photo/new-pair-white-sneakers-isolated-white_93675-130969.jpg?_wi=2", imageAlt: "Adidas Stan Smith white leather sneaker", isFavorited: false, - }, - { - id: "prod-011", brand: "The North Face", name: "Denali Fleece", price: "$99.99", rating: 4.8, - reviewCount: "856", imageSrc: "http://img.b2bpic.net/free-photo/young-hipster-man-hiking-mountains-winter-vacation-traveling_285396-1955.jpg", imageAlt: "The North Face Denali fleece jacket", isFavorited: false, - }, - { - id: "prod-012", brand: "Carhartt WIP", name: "Simple Pant", price: "$54.99", rating: 4.7, - reviewCount: "742", imageSrc: "http://img.b2bpic.net/free-photo/cropped-stock-photo-unrecognizable-woman-white-shirt-formal-black-straight-trousers-black-leather-heels-standing-street-fashion-model-dresscode-concept_132075-9150.jpg", imageAlt: "Carhartt WIP simple pant in black", isFavorited: false, - }, - { - id: "prod-013", brand: "Vans", name: "Old Skool", price: "$65.00", rating: 4.9, - reviewCount: "1,567", imageSrc: "http://img.b2bpic.net/free-photo/people-80s-aesthetic-summer-clothing_23-2151016254.jpg", imageAlt: "Vans Old Skool classic skateboard shoe", isFavorited: false, - }, - ]} + products={bestSellersProducts} buttons={[{ text: "Shop Best Sellers", href: "/shop" }]} buttonAnimation="slide-up" carouselMode="buttons" ariaLabel="Best sellers collection" + cardClassName="transition-all duration-300 hover:shadow-xl hover:-translate-y-2" + imageClassName="transition-transform duration-500 hover:scale-110" /> @@ -267,12 +477,14 @@ export default function HomePage() { author="Jordan Mitchell" avatars={[ { - src: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg", alt: "Jordan Mitchell"}, + src: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg", alt: "Jordan Mitchell" + }, ]} ratingAnimation="slide-up" avatarsAnimation="slide-up" useInvertedBackground={false} ariaLabel="Customer testimonial section" + className="transition-all duration-500 hover:shadow-xl" /> @@ -289,6 +501,9 @@ export default function HomePage() { buttonText="Subscribe" termsText="By subscribing, you agree to receive marketing emails. Unsubscribe at any time." ariaLabel="Newsletter signup section" + formClassName="transition-all duration-300" + inputClassName="transition-all duration-300 focus:shadow-lg focus:scale-105" + buttonClassName="transition-all duration-300 hover:shadow-lg hover:-translate-y-1 active:translate-y-0" /> @@ -304,21 +519,28 @@ export default function HomePage() { faqsAnimation="slide-up" faqs={[ { - id: "faq-001", title: "Are all products authentic?", content: "Yes, we guarantee 100% authenticity for all items sold on garraagarmzz. We source directly from authorized retailers and brand partnerships. Each item undergoes quality verification before being listed."}, + id: "faq-001", title: "Are all products authentic?", content: "Yes, we guarantee 100% authenticity for all items sold on garraagarmzz. We source directly from authorized retailers and brand partnerships. Each item undergoes quality verification before being listed." + }, { - id: "faq-002", title: "What is your return policy?", content: "We offer a 30-day return policy on all items. Products must be unworn, unwashed, and in original packaging with all tags attached. Returns are free within the US."}, + id: "faq-002", title: "What is your return policy?", content: "We offer a 30-day return policy on all items. Products must be unworn, unwashed, and in original packaging with all tags attached. Returns are free within the US." + }, { - id: "faq-003", title: "How long does shipping take?", content: "Standard shipping takes 5-7 business days. Express shipping (2-3 business days) and overnight shipping options are available at checkout. Orders are processed within 24 hours."}, + id: "faq-003", title: "How long does shipping take?", content: "Standard shipping takes 5-7 business days. Express shipping (2-3 business days) and overnight shipping options are available at checkout. Orders are processed within 24 hours." + }, { - id: "faq-004", title: "Do you ship internationally?", content: "Yes, we ship to most countries worldwide. International shipping rates and delivery times vary by location. Customs duties may apply depending on your country."}, + id: "faq-004", title: "Do you ship internationally?", content: "Yes, we ship to most countries worldwide. International shipping rates and delivery times vary by location. Customs duties may apply depending on your country." + }, { - id: "faq-005", title: "What payment methods do you accept?", content: "We accept all major credit cards, PayPal, Apple Pay, Google Pay, and Klarna. All payments are secured with SSL encryption. We also support Stripe for additional payment processing options."}, + id: "faq-005", title: "What payment methods do you accept?", content: "We accept all major credit cards, PayPal, Apple Pay, Google Pay, and Klarna. All payments are secured with SSL encryption. We also support Stripe for additional payment processing options." + }, { - id: "faq-006", title: "Can I track my order?", content: "Yes, tracking information is sent to your email immediately after your order ships. You can also track your order in your account dashboard."}, + id: "faq-006", title: "Can I track my order?", content: "Yes, tracking information is sent to your email immediately after your order ships. You can also track your order in your account dashboard." + }, ]} buttons={[{ text: "View Full Policy", href: "/shop" }]} buttonAnimation="slide-up" ariaLabel="FAQ section" + accordionClassName="transition-all duration-300 hover:bg-opacity-50" /> @@ -328,6 +550,8 @@ export default function HomePage() { copyrightText="© 2025 garraagarmzz. All rights reserved. Curated Fashion From The Best Brands." columns={footerColumns} ariaLabel="Site footer with navigation and company information" + className="transition-all duration-300" + columnItemClassName="transition-colors duration-300 hover:text-blue-500" /> -- 2.49.1 From 707bf7de70d4cf6402ac35155201ad67ebc8320e Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 13 Mar 2026 19:41:01 +0000 Subject: [PATCH 3/5] Add src/app/products/page.tsx --- src/app/products/page.tsx | 313 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 313 insertions(+) create mode 100644 src/app/products/page.tsx diff --git a/src/app/products/page.tsx b/src/app/products/page.tsx new file mode 100644 index 0000000..def0b3b --- /dev/null +++ b/src/app/products/page.tsx @@ -0,0 +1,313 @@ +"use client"; + +import { useState } from "react"; +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline"; +import ProductCardTwo from "@/components/sections/product/ProductCardTwo"; +import FooterBaseCard from "@/components/sections/footer/FooterBaseCard"; +import { Sparkles, Search, Filter, X, Eye, Heart, ShoppingCart } from "lucide-react"; + +export default function ProductsPage() { + const [selectedProduct, setSelectedProduct] = useState(null); + const [isMobileFilterOpen, setIsMobileFilterOpen] = useState(false); + + const navItems = [ + { name: "Home", id: "home" }, + { name: "Shop", id: "shop" }, + { name: "Brands", id: "brands" }, + { name: "New Arrivals", id: "new-arrivals" }, + { name: "Best Sellers", id: "best-sellers" }, + { name: "About", id: "about" }, + { name: "Contact", id: "contact" }, + ]; + + const footerColumns = [ + { + title: "Shop", items: [ + { label: "All Products", href: "/shop" }, + { label: "New Arrivals", href: "/products" }, + { label: "Best Sellers", href: "/products" }, + { label: "Brands", href: "/products" }, + ], + }, + { + title: "Company", items: [ + { label: "About Us", href: "/" }, + { label: "Contact", href: "/" }, + { label: "Blog", href: "/" }, + { label: "Careers", href: "#" }, + ], + }, + { + title: "Support", items: [ + { label: "Shipping & Returns", href: "/" }, + { label: "FAQ", href: "/" }, + { label: "Size Guide", href: "#" }, + { label: "Track Order", href: "#" }, + ], + }, + { + title: "Legal", items: [ + { label: "Privacy Policy", href: "#" }, + { label: "Terms & Conditions", href: "#" }, + { label: "Cookie Policy", href: "#" }, + { label: "Accessibility", href: "#" }, + ], + }, + ]; + + const allProducts = [ + { + id: "prod-001", brand: "Nike", name: "Air Max 90 Classic", price: "$129.99", rating: 4.8, + reviewCount: "342", imageSrc: "http://img.b2bpic.net/free-photo/athletic-girl-standing-stairs-tying-shoelaces_23-2148264960.jpg?_wi=2", imageAlt: "Nike Air Max 90 sneaker in white and grey", isFavorited: false, + }, + { + id: "prod-002", brand: "Supreme", name: "Box Logo Hoodie", price: "$345.00", rating: 4.9, + reviewCount: "521", imageSrc: "http://img.b2bpic.net/free-photo/afro-hair-style-doing-okay-gesture_140725-36572.jpg?_wi=2", imageAlt: "Supreme black box logo hoodie", isFavorited: false, + }, + { + id: "prod-003", brand: "Carhartt WIP", name: "Detroit Jacket", price: "$159.99", rating: 4.7, + reviewCount: "189", imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-smiling-brunette-model-dressed-summer-hipster-jacket-jeans-clothes_158538-1617.jpg?_wi=2", imageAlt: "Carhartt WIP brown Detroit work jacket", isFavorited: false, + }, + { + id: "prod-004", brand: "Stüssy", name: "Classic T-Shirt", price: "$48.00", rating: 4.6, + reviewCount: "276", imageSrc: "http://img.b2bpic.net/free-photo/t-shirt-painting-indoors-still-life_23-2150572721.jpg?_wi=2", imageAlt: "Stüssy white classic logo t-shirt", isFavorited: false, + }, + { + id: "prod-005", brand: "Adidas", name: "Ultra Boost 22", price: "$189.99", rating: 4.8, + reviewCount: "437", imageSrc: "http://img.b2bpic.net/free-photo/side-view-sports-shoes_23-2147618070.jpg", imageAlt: "Adidas Ultra Boost 22 in black", isFavorited: false, + }, + { + id: "prod-006", brand: "The North Face", name: "Nuptse Jacket", price: "$229.99", rating: 4.9, + reviewCount: "654", imageSrc: "http://img.b2bpic.net/free-photo/young-man-listening-music-headphones-close-up_23-2148381737.jpg?_wi=2", imageAlt: "The North Face Nuptse puffer jacket in black", isFavorited: false, + }, + { + id: "prod-007", brand: "Nike", name: "Jordan 1 Low OG", price: "$99.99", rating: 4.7, + reviewCount: "128", imageSrc: "http://img.b2bpic.net/free-photo/close-up-man-s-legs-keds-going-down-stairs_176420-55081.jpg", imageAlt: "Jordan 1 Low OG sneaker", isFavorited: false, + }, + { + id: "prod-008", brand: "Supreme", name: "Arc Logo Cap", price: "$68.00", rating: 4.5, + reviewCount: "95", imageSrc: "http://img.b2bpic.net/free-photo/young-man-putting-hand-cap-white-t-shirt-jacket-gray-cap-looking-serious-front-view_176474-84297.jpg", imageAlt: "Supreme arc logo baseball cap", isFavorited: false, + }, + { + id: "prod-009", brand: "Stüssy", name: "Fleece Pullover", price: "$98.00", rating: 4.8, + reviewCount: "203", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-smiling-woman-stands-by-tree_8353-9397.jpg", imageAlt: "Stüssy fleece pullover in grey", isFavorited: false, + }, + { + id: "prod-010", brand: "Adidas", name: "Stan Smith Classic", price: "$89.99", rating: 4.9, + reviewCount: "1,240", imageSrc: "http://img.b2bpic.net/free-photo/new-pair-white-sneakers-isolated-white_93675-130969.jpg?_wi=2", imageAlt: "Adidas Stan Smith white leather sneaker", isFavorited: false, + }, + { + id: "prod-011", brand: "The North Face", name: "Denali Fleece", price: "$99.99", rating: 4.8, + reviewCount: "856", imageSrc: "http://img.b2bpic.net/free-photo/young-hipster-man-hiking-mountains-winter-vacation-traveling_285396-1955.jpg", imageAlt: "The North Face Denali fleece jacket", isFavorited: false, + }, + { + id: "prod-012", brand: "Carhartt WIP", name: "Simple Pant", price: "$54.99", rating: 4.7, + reviewCount: "742", imageSrc: "http://img.b2bpic.net/free-photo/cropped-stock-photo-unrecognizable-woman-white-shirt-formal-black-straight-trousers-black-leather-heels-standing-street-fashion-model-dresscode-concept_132075-9150.jpg", imageAlt: "Carhartt WIP simple pant in black", isFavorited: false, + }, + { + id: "prod-013", brand: "Vans", name: "Old Skool", price: "$65.00", rating: 4.9, + reviewCount: "1,567", imageSrc: "http://img.b2bpic.net/free-photo/people-80s-aesthetic-summer-clothing_23-2151016254.jpg", imageAlt: "Vans Old Skool classic skateboard shoe", isFavorited: false, + }, + ]; + + const selectedProductData = selectedProduct + ? allProducts.find((p) => p.id === selectedProduct) + : null; + + const renderStars = (rating: number) => { + return ( +
+ {[...Array(5)].map((_, i) => ( + + + + ))} +
+ ); + }; + + return ( + + + + {/* Mobile Filter Toggle */} +
+
+ + +
+
+ + {/* Main Product Grid Section */} +
+ +
+ + {/* Quick View Popup Modal */} + {selectedProductData && ( +
setSelectedProduct(null)} + > +
e.stopPropagation()} + > + {/* Close Button */} + + +
+ {/* Product Image */} +
+ {selectedProductData.imageAlt} +
+ + {/* Product Details */} +
+
+

+ {selectedProductData.brand} +

+

+ {selectedProductData.name} +

+ + {/* Rating */} +
+ {renderStars(selectedProductData.rating)} + + {selectedProductData.rating} ({selectedProductData.reviewCount} reviews) + +
+ + {/* Price */} +
+

+ {selectedProductData.price} +

+
+ + {/* Placeholder for Image Upload Section */} +
+

+ 📷 Additional product images +

+
+
+ Click to add +
+
+ Click to add +
+
+
+
+ + {/* Action Buttons */} +
+ + +
+
+
+
+
+ )} + + {/* Product Card Click Handler - Overlay for Quick View Trigger */} +
+ {allProducts.map((product) => ( + + ))} +
+ + +
+ ); +} -- 2.49.1 From 706b70a3adfcc0efed4e788df0945ca61f75f3bc Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 13 Mar 2026 19:41:01 +0000 Subject: [PATCH 4/5] Update src/app/styles/variables.css --- src/app/styles/variables.css | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/app/styles/variables.css b/src/app/styles/variables.css index 47bbc8e..981c54c 100644 --- a/src/app/styles/variables.css +++ b/src/app/styles/variables.css @@ -10,15 +10,15 @@ --accent: #ffffff; --background-accent: #ffffff; */ - --background: #0a0a0a; - --card: #1a1a1a; - --foreground: #f0f8ffe6; - --primary-cta: #cee7ff; + --background: #000000; + --card: #0c0c0c; + --foreground: #ffffff; + --primary-cta: #106EFB; --primary-cta-text: #0a0a0a; - --secondary-cta: #1a1a1a; + --secondary-cta: #000000; --secondary-cta-text: #f0f8ffe6; - --accent: #737373; - --background-accent: #737373; + --accent: #535353; + --background-accent: #106EFB; /* text sizing - set by ThemeProvider */ /* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem); -- 2.49.1 From 6abd5b6df6c39767b24e6b8dd573e18341c837e0 Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 13 Mar 2026 19:41:42 +0000 Subject: [PATCH 5/5] Update src/app/admin/page.tsx --- src/app/admin/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/admin/page.tsx b/src/app/admin/page.tsx index 9bec153..d4cb901 100644 --- a/src/app/admin/page.tsx +++ b/src/app/admin/page.tsx @@ -272,7 +272,7 @@ export default function AdminDashboard() {

- Revenue Summary

-- 2.49.1