From fca2c25e12f5891e61f92e08815ddaa554f077d1 Mon Sep 17 00:00:00 2001 From: Biswa Kalyan Bhuyan Date: Wed, 28 May 2025 16:30:40 +0530 Subject: feat: added frontpage layout --- frontend/src/components/header.tsx | 287 +++++++++++++++++++++++++++++++++++++ 1 file changed, 287 insertions(+) create mode 100644 frontend/src/components/header.tsx (limited to 'frontend/src/components/header.tsx') diff --git a/frontend/src/components/header.tsx b/frontend/src/components/header.tsx new file mode 100644 index 0000000..d64061a --- /dev/null +++ b/frontend/src/components/header.tsx @@ -0,0 +1,287 @@ +"use client"; + +import { useState } from "react"; +import Link from "next/link"; +import Image from "next/image"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { Badge } from "@/components/ui/badge"; +import { + NavigationMenu, + NavigationMenuContent, + NavigationMenuItem, + NavigationMenuLink, + NavigationMenuList, + NavigationMenuTrigger, +} from "@/components/ui/navigation-menu"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuSeparator, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; +import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from "@/components/ui/sheet"; +import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; +import { + Search, + ShoppingBag, + Heart, + User, + Menu, + Phone, + Mail, + Truck, + RefreshCw, + Shield, + Globe, +} from "lucide-react"; + +export function Header() { + const [cartItems] = useState(3); + const [wishlistItems] = useState(5); + + const categories = [ + { + title: "Women", + items: [ + { name: "Dresses", href: "/women/dresses" }, + { name: "Tops & Blouses", href: "/women/tops" }, + { name: "Pants & Jeans", href: "/women/pants" }, + { name: "Outerwear", href: "/women/outerwear" }, + { name: "Accessories", href: "/women/accessories" }, + ], + }, + { + title: "Men", + items: [ + { name: "T-Shirts", href: "/men/tshirts" }, + { name: "Shirts", href: "/men/shirts" }, + { name: "Pants & Jeans", href: "/men/pants" }, + { name: "Jackets", href: "/men/jackets" }, + { name: "Accessories", href: "/men/accessories" }, + ], + }, + { + title: "Kids", + items: [ + { name: "Boys", href: "/kids/boys" }, + { name: "Girls", href: "/kids/girls" }, + { name: "Baby", href: "/kids/baby" }, + { name: "Shoes", href: "/kids/shoes" }, + ], + }, + ]; + + return ( +
+ {/* Top banner */} +
+

+ FREE SHIPPING ON ORDERS OVER $100 β€’ NEW ARRIVALS EVERY WEEK +

+
+ + {/* Announcement bar */} +
+

+ πŸ”₯ WINTER SALE - Up to 50% off on selected items +

+
+ + {/* Main header */} +
+
+
+ {/* Mobile menu */} + + + + + + + Menu + + + + + + {/* Logo */} +
+ + blcklst + +
+ + {/* Desktop Navigation */} + + + {categories.map((category) => ( + + + {category.title} + + +
+ {category.items.map((item) => ( + + +
{item.name}
+ +
+ ))} +
+
+
+ ))} + + + + Sale + + + +
+
+ + {/* Search Bar */} +
+
+ + +
+
+ + {/* Action buttons */} +
+ {/* Search icon for mobile */} + + + {/* User menu */} + + + + + + + + My Account + + + + Orders + + + + Wishlist + + + + Sign In + + + Create Account + + + + + {/* Wishlist */} + + + {/* Cart */} + + + {/* Language/Currency */} + + + + + + πŸ‡ΊπŸ‡Έ USD + πŸ‡ͺπŸ‡Ί EUR + πŸ‡¬πŸ‡§ GBP + + +
+
+
+
+ + {/* Service features */} +
+
+
+
+ + Free Shipping +
+
+ + 30-Day Returns +
+
+ + Secure Payment +
+
+ + 24/7 Support +
+
+
+
+
+ ); +} \ No newline at end of file -- cgit v1.2.3-59-g8ed1b