diff --git a/src/app/cart/page.tsx b/src/app/cart/page.tsx new file mode 100644 index 0000000..179c860 --- /dev/null +++ b/src/app/cart/page.tsx @@ -0,0 +1,33 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; +import ProductCart from "@/components/ecommerce/cart/ProductCart"; +import { useState } from "react"; + +export default function CartPage() { + const [items, setItems] = useState([ + { id: "1", name: "Premium Web Design Package", price: "$1,500", quantity: 1, imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/shot-1.webp" }, + { id: "2", name: "SEO Strategy Audit", price: "$500", quantity: 2, imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/shot-2.webp" }, + ]); + + const handleRemove = (id: string) => setItems(items.filter(item => item.id !== id)); + const handleUpdate = (id: string, qty: number) => setItems(items.map(i => i.id === id ? { ...i, quantity: qty } : i)); + + return ( + + +
+ {}} + onQuantityChange={handleUpdate} + onRemove={handleRemove} + total="$2,500" + buttons={[{ text: "Proceed to Checkout", href: "/checkout" }]} + /> +
+
+ ); +} \ No newline at end of file diff --git a/src/app/checkout/page.tsx b/src/app/checkout/page.tsx new file mode 100644 index 0000000..d5b0eaa --- /dev/null +++ b/src/app/checkout/page.tsx @@ -0,0 +1,29 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; +import TextBox from "@/components/Textbox"; + +export default function CheckoutPage() { + return ( + + +
+ +
+ + + + +
+
+
+ ); +} \ No newline at end of file diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx new file mode 100644 index 0000000..f326671 --- /dev/null +++ b/src/app/login/page.tsx @@ -0,0 +1,41 @@ +"use client"; + +import { useState } from "react"; +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; + +export default function LoginPage() { + const [email, setEmail] = useState(""); + const [password, setPassword] = useState(""); + + return ( + + +
+
+

Login

+
+
+ + setEmail(e.target.value)} /> +
+
+ + setPassword(e.target.value)} /> +
+ +
+
+
+
+ ); +} \ No newline at end of file diff --git a/src/app/order-history/page.tsx b/src/app/order-history/page.tsx new file mode 100644 index 0000000..39fef64 --- /dev/null +++ b/src/app/order-history/page.tsx @@ -0,0 +1,27 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; + +export default function OrderHistoryPage() { + return ( + + +
+

Order History

+

View your past orders and status.

+
+
+ ); +} \ No newline at end of file diff --git a/src/app/order-tracking/page.tsx b/src/app/order-tracking/page.tsx new file mode 100644 index 0000000..8742667 --- /dev/null +++ b/src/app/order-tracking/page.tsx @@ -0,0 +1,27 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; + +export default function OrderTrackingPage() { + return ( + + +
+

Order Tracking

+

Enter your tracking number below to view your order status.

+
+
+ ); +} \ No newline at end of file diff --git a/src/app/page.tsx b/src/app/page.tsx index 0165d48..e3db1df 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -13,8 +13,13 @@ import FaqBase from "@/components/sections/faq/FaqBase"; import ContactCTA from "@/components/sections/contact/ContactCTA"; import FooterBase from "@/components/sections/footer/FooterBase"; import TestimonialCardFifteen from "@/components/sections/testimonial/TestimonialCardFifteen"; +import { Suspense } from "react"; import { Sparkles, Search, ArrowUpRight, Monitor, Shield, Zap, Puzzle, TrendingUp, Lock, Phone, MessageCircle, BookOpen, Tv, Camera, Music, Settings, Award, Users } from "lucide-react"; +function LoadingFallback() { + return
Loading your experience...
; +} + export default function WebAgency2Page() { return ( - - - - - - - - - - - - - - + }> + + +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+
+
); } diff --git a/src/app/products/[id]/page.tsx b/src/app/products/[id]/page.tsx new file mode 100644 index 0000000..13ad653 --- /dev/null +++ b/src/app/products/[id]/page.tsx @@ -0,0 +1,29 @@ +"use client"; + +import React from "react"; +import ReactLenis from "lenis/react"; +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; +import ProductDetailCard from "@/components/ecommerce/productDetail/ProductDetailCard"; +import FooterBase from "@/components/sections/footer/FooterBase"; + +export default function ProductDetailPage() { + return ( + + + +
+ +
+ +
+
+ ); +} \ No newline at end of file diff --git a/src/app/products/page.tsx b/src/app/products/page.tsx new file mode 100644 index 0000000..d41a2e2 --- /dev/null +++ b/src/app/products/page.tsx @@ -0,0 +1,43 @@ +"use client"; + +import React, { useState } from "react"; +import ReactLenis from "lenis/react"; +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; +import ProductCardFour from "@/components/sections/product/ProductCardFour"; +import FooterBase from "@/components/sections/footer/FooterBase"; + +export default function ProductListingPage() { + const [search, setSearch] = useState(""); + + const navItems = [ + { name: "Home", id: "/" }, + { name: "Products", id: "/products" }, + ]; + + const products = [ + { id: "1", name: "Premium Headset", price: "$199", variant: "Black", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/shot-1.webp" }, + { id: "2", name: "Smart Watch", price: "$299", variant: "Silver", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/shot-2.webp" }, + { id: "3", name: "Wireless Mouse", price: "$89", variant: "Matte", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/shot-3.webp" }, + ]; + + return ( + + + +
+ +
+ +
+
+ ); +} \ No newline at end of file diff --git a/src/app/wishlist/page.tsx b/src/app/wishlist/page.tsx new file mode 100644 index 0000000..e91c289 --- /dev/null +++ b/src/app/wishlist/page.tsx @@ -0,0 +1,27 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; + +export default function WishlistPage() { + return ( + + +
+

Wishlist

+

Manage your saved items.

+
+
+ ); +} \ No newline at end of file