diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index e35e430..74bbd6a 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -2,34 +2,31 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; -import FeatureCardThree from "@/components/sections/feature/featureCardThree/FeatureCardThree"; -import TestimonialCardSixteen from "@/components/sections/testimonial/TestimonialCardSixteen"; +import AboutMetric from "@/components/sections/about/AboutMetric"; +import ContactText from "@/components/sections/contact/ContactText"; import FooterMedia from "@/components/sections/footer/FooterMedia"; -import { Zap, Star } from "lucide-react"; +import { Users, Store, Package, TrendingUp } from "lucide-react"; export default function AboutPage() { const footerColumns = [ { - title: "Platform", - items: [ + title: "Platform", items: [ { label: "For Buyers", href: "/buyer" }, { label: "For Sellers", href: "/seller" }, { label: "How It Works", href: "#" }, - { label: "Pricing", href: "#pricing" }, + { label: "Pricing", href: "/pricing" }, ], }, { - title: "Support", - items: [ + title: "Support", items: [ { label: "Help Center", href: "#" }, { label: "Contact Us", href: "/contact" }, - { label: "FAQ", href: "#faq" }, + { label: "FAQ", href: "#" }, { label: "Report Issue", href: "#" }, ], }, { - title: "Company", - items: [ + title: "Company", items: [ { label: "About Us", href: "/about" }, { label: "Blog", href: "#" }, { label: "Careers", href: "#" }, @@ -57,99 +54,43 @@ export default function AboutPage() { navItems={[ { name: "Home", id: "/" }, { name: "About", id: "/about" }, - { name: "Features", id: "features" }, - { name: "Pricing", id: "pricing" }, - { name: "FAQ", id: "faq" }, + { name: "Testimonials", id: "/testimonials" }, + { name: "Pricing", id: "/pricing" }, ]} button={{ text: "Launch Platform", href: "/dashboard" }} /> -
- +
-
- +
); -} \ No newline at end of file +} diff --git a/src/app/pricing/page.tsx b/src/app/pricing/page.tsx index 4f60bf7..a3e7457 100644 --- a/src/app/pricing/page.tsx +++ b/src/app/pricing/page.tsx @@ -5,10 +5,36 @@ import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatin import PricingCardThree from "@/components/sections/pricing/PricingCardThree"; import ContactText from "@/components/sections/contact/ContactText"; import FooterMedia from "@/components/sections/footer/FooterMedia"; -import Link from "next/link"; import { DollarSign, Sparkles } from "lucide-react"; export default function PricingPage() { + const footerColumns = [ + { + title: "Platform", items: [ + { label: "For Buyers", href: "/buyer" }, + { label: "For Sellers", href: "/seller" }, + { label: "How It Works", href: "#" }, + { label: "Pricing", href: "/pricing" }, + ], + }, + { + title: "Support", items: [ + { label: "Help Center", href: "#" }, + { label: "Contact Us", href: "/contact" }, + { label: "FAQ", href: "#" }, + { label: "Report Issue", href: "#" }, + ], + }, + { + title: "Company", items: [ + { label: "About Us", href: "/about" }, + { label: "Blog", href: "#" }, + { label: "Careers", href: "#" }, + { label: "Press", href: "#" }, + ], + }, + ]; + return ( @@ -50,171 +72,56 @@ export default function PricingPage() { useInvertedBackground={false} plans={[ { - id: "1", - price: "Free", - name: "Starter", - buttons: [ - { - text: "Get Started", - href: "/signup", - }, - { - text: "Learn More", - href: "#", - }, + id: "1", price: "Free", name: "Starter", buttons: [ + { text: "Get Started", href: "/signup" }, + { text: "Learn More", href: "#" }, ], features: [ - "Up to 50 products", - "Basic analytics", - "Standard support", - "10% transaction fee", - ], + "Up to 50 products", "Basic analytics", "Standard support", "10% transaction fee"], }, { - id: "2", - badge: "Most Popular", - badgeIcon: Sparkles, - price: "99 TJS", - name: "Professional", - buttons: [ - { - text: "Get Started", - href: "/signup", - }, - { - text: "Chat Sales", - href: "#", - }, + id: "2", badge: "Most Popular", badgeIcon: Sparkles, + price: "99 TJS", name: "Professional", buttons: [ + { text: "Get Started", href: "/signup" }, + { text: "Chat Sales", href: "#" }, ], features: [ - "Unlimited products", - "Advanced analytics", - "Priority support", - "5% transaction fee", - "Promotional tools", - ], + "Unlimited products", "Advanced analytics", "Priority support", "5% transaction fee", "Promotional tools"], }, { - id: "3", - price: "299 TJS", - name: "Enterprise", - buttons: [ - { - text: "Contact Sales", - href: "/contact", - }, - { - text: "Schedule Demo", - href: "/contact", - }, + id: "3", price: "299 TJS", name: "Enterprise", buttons: [ + { text: "Contact Sales", href: "/contact" }, + { text: "Schedule Demo", href: "/contact" }, ], features: [ - "Everything in Professional", - "Custom analytics dashboards", - "Dedicated account manager", - "2% transaction fee", - "API access", - "White-label options", - ], + "Everything in Professional", "Custom analytics dashboards", "Dedicated account manager", "2% transaction fee", "API access", "White-label options"], }, ]} /> -
+
); -} \ No newline at end of file +} diff --git a/src/app/register/page.tsx b/src/app/register/page.tsx new file mode 100644 index 0000000..2bca43b --- /dev/null +++ b/src/app/register/page.tsx @@ -0,0 +1,246 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; +import FooterMedia from "@/components/sections/footer/FooterMedia"; +import { useState } from "react"; +import { Input } from "@/components/form/Input"; +import ButtonTextStagger from "@/components/button/ButtonTextStagger/ButtonTextStagger"; +import Link from "next/link"; +import { Mail, Lock, User, Phone } from "lucide-react"; + +export default function RegisterPage() { + const [formData, setFormData] = useState({ + fullName: "", email: "", phone: "", password: "", confirmPassword: ""}); + + const [errors, setErrors] = useState>({}); + const [submitted, setSubmitted] = useState(false); + + const handleChange = (field: string, value: string) => { + setFormData((prev) => ({ ...prev, [field]: value })); + if (errors[field]) { + setErrors((prev) => ({ ...prev, [field]: "" })); + } + }; + + const validateForm = () => { + const newErrors: Record = {}; + + if (!formData.fullName.trim()) { + newErrors.fullName = "Full name is required"; + } + if (!formData.email.trim()) { + newErrors.email = "Email is required"; + } else if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(formData.email)) { + newErrors.email = "Please enter a valid email"; + } + if (!formData.phone.trim()) { + newErrors.phone = "Phone number is required"; + } + if (!formData.password) { + newErrors.password = "Password is required"; + } else if (formData.password.length < 8) { + newErrors.password = "Password must be at least 8 characters"; + } + if (!formData.confirmPassword) { + newErrors.confirmPassword = "Please confirm your password"; + } else if (formData.password !== formData.confirmPassword) { + newErrors.confirmPassword = "Passwords do not match"; + } + + setErrors(newErrors); + return Object.keys(newErrors).length === 0; + }; + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + if (validateForm()) { + setSubmitted(true); + console.log("Registration submitted:", formData); + setTimeout(() => { + setSubmitted(false); + }, 3000); + } + }; + + const footerColumns = [ + { + title: "Platform", items: [ + { label: "For Buyers", href: "/buyer" }, + { label: "For Sellers", href: "/seller" }, + { label: "How It Works", href: "#" }, + { label: "Pricing", href: "#pricing" }, + ], + }, + { + title: "Support", items: [ + { label: "Help Center", href: "#" }, + { label: "Contact Us", href: "/contact" }, + { label: "FAQ", href: "#faq" }, + { label: "Report Issue", href: "#" }, + ], + }, + { + title: "Company", items: [ + { label: "About Us", href: "/about" }, + { label: "Blog", href: "#" }, + { label: "Careers", href: "#" }, + { label: "Press", href: "#" }, + ], + }, + ]; + + return ( + + + +
+
+
+

Create Account

+

+ Join Agora marketplace today +

+ + {submitted && ( +
+ Registration submitted successfully! +
+ )} + +
+
+ + handleChange("fullName", value)} + required + /> + {errors.fullName && ( +

{errors.fullName}

+ )} +
+ +
+ + handleChange("email", value)} + required + /> + {errors.email && ( +

{errors.email}

+ )} +
+ +
+ + handleChange("phone", value)} + required + /> + {errors.phone && ( +

{errors.phone}

+ )} +
+ +
+ + handleChange("password", value)} + required + /> + {errors.password && ( +

{errors.password}

+ )} +
+ +
+ + handleChange("confirmPassword", value)} + required + /> + {errors.confirmPassword && ( +

+ {errors.confirmPassword} +

+ )} +
+ +
+ +
+
+ +

+ Already have an account?{" "} + + Sign in + +

+
+
+
+ + +
+ ); +} \ No newline at end of file diff --git a/src/app/testimonials/page.tsx b/src/app/testimonials/page.tsx new file mode 100644 index 0000000..9a37208 --- /dev/null +++ b/src/app/testimonials/page.tsx @@ -0,0 +1,119 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; +import TestimonialCardSixteen from "@/components/sections/testimonial/TestimonialCardSixteen"; +import ContactText from "@/components/sections/contact/ContactText"; +import FooterMedia from "@/components/sections/footer/FooterMedia"; +import { Star } from "lucide-react"; + +export default function TestimonialsPage() { + const footerColumns = [ + { + title: "Platform", items: [ + { label: "For Buyers", href: "/buyer" }, + { label: "For Sellers", href: "/seller" }, + { label: "How It Works", href: "#" }, + { label: "Pricing", href: "/pricing" }, + ], + }, + { + title: "Support", items: [ + { label: "Help Center", href: "#" }, + { label: "Contact Us", href: "/contact" }, + { label: "FAQ", href: "#" }, + { label: "Report Issue", href: "#" }, + ], + }, + { + title: "Company", items: [ + { label: "About Us", href: "/about" }, + { label: "Blog", href: "#" }, + { label: "Careers", href: "#" }, + { label: "Press", href: "#" }, + ], + }, + ]; + + return ( + + + +
+ +
+ +
+ +
+ + +
+ ); +} diff --git a/src/app/welcome/page.tsx b/src/app/welcome/page.tsx new file mode 100644 index 0000000..17bd67f --- /dev/null +++ b/src/app/welcome/page.tsx @@ -0,0 +1,164 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; +import HeroBillboardRotatedCarousel from "@/components/sections/hero/HeroBillboardRotatedCarousel"; +import FeatureCardThree from "@/components/sections/feature/featureCardThree/FeatureCardThree"; +import FooterMedia from "@/components/sections/footer/FooterMedia"; +import { + Zap, + ShoppingCart, + TrendingUp, + Users, + Store, + Package, + DollarSign, + Star, + CheckCircle, +} from "lucide-react"; + +export default function WelcomePage() { + const footerColumns = [ + { + title: "Platform", items: [ + { label: "For Buyers", href: "/buyer" }, + { label: "For Sellers", href: "/seller" }, + { label: "How It Works", href: "#" }, + { label: "Pricing", href: "#pricing" }, + ], + }, + { + title: "Support", items: [ + { label: "Help Center", href: "#" }, + { label: "Contact Us", href: "/contact" }, + { label: "FAQ", href: "#faq" }, + { label: "Report Issue", href: "#" }, + ], + }, + { + title: "Company", items: [ + { label: "About Us", href: "/about" }, + { label: "Blog", href: "#" }, + { label: "Careers", href: "#" }, + { label: "Press", href: "#" }, + ], + }, + ]; + + const carouselItems = [ + { + id: "1", imageSrc: + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AfBvzLipXWZDam6ggyuaVWEFRP/a-modern-marketplace-dashboard-interface-1772974551757-f074afce.png", imageAlt: "Marketplace Dashboard"}, + { + id: "2", imageSrc: + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AfBvzLipXWZDam6ggyuaVWEFRP/a-detailed-product-search-interface-show-1772974547310-ed15e040.png?_wi=1", imageAlt: "Product Search Interface"}, + { + id: "3", imageSrc: + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AfBvzLipXWZDam6ggyuaVWEFRP/a-seller-dashboard-showing-product-inven-1772974548976-6f45f9da.png", imageAlt: "Seller Dashboard"}, + { + id: "4", imageSrc: + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AfBvzLipXWZDam6ggyuaVWEFRP/a-payment-checkout-interface-showing-mul-1772974545827-a610aa1c.png?_wi=1", imageAlt: "Payment Checkout"}, + { + id: "5", imageSrc: + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AfBvzLipXWZDam6ggyuaVWEFRP/an-order-tracking-interface-showing-real-1772974545297-60526892.png", imageAlt: "Order Tracking"}, + { + id: "6", imageSrc: + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AfBvzLipXWZDam6ggyuaVWEFRP/an-illustration-representing-digital-mar-1772974545983-08d3526b.png", imageAlt: "Community Illustration"}, + ]; + + return ( + + + +
+ +
+ +
+ +
+ + +
+ ); +} \ No newline at end of file