7 Commits

Author SHA1 Message Date
1567107ad8 Update src/app/shop/page.tsx 2026-04-20 09:33:36 +00:00
8ca58f5399 Update src/app/page.tsx 2026-04-20 09:33:35 +00:00
d19c12e9f8 Update src/app/contact/page.tsx 2026-04-20 09:33:35 +00:00
36af3058cb Update src/app/about/page.tsx 2026-04-20 09:33:34 +00:00
f7ed122df6 Merge version_2 into main
Merge version_2 into main
2026-04-20 09:29:47 +00:00
13b0c24769 Add src/app/checkout/page.tsx 2026-04-20 09:29:41 +00:00
dd4efda1cd Merge version_1 into main
Merge version_1 into main
2026-04-20 09:22:34 +00:00
5 changed files with 135 additions and 269 deletions

View File

@@ -25,22 +25,10 @@ export default function LandingPage() {
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{
name: "Home",
id: "/",
},
{
name: "Shop",
id: "/shop",
},
{
name: "About",
id: "/about",
},
{
name: "Contact",
id: "/contact",
},
{ name: "Home", id: "/" },
{ name: "Shop", id: "/shop" },
{ name: "About", id: "/about" },
{ name: "Contact", id: "/contact" },
]}
brandName="90style"
/>
@@ -51,8 +39,7 @@ export default function LandingPage() {
useInvertedBackground={false}
title="Our Philosophy"
description={[
"At 90style, we don't just sell clothes, we celebrate the culture of the beautiful game. From pitch to pavement, our designs bridge the gap.",
]}
"At 90style, we don't just sell clothes, we celebrate the culture of the beautiful game. From pitch to pavement, our designs bridge the gap."]}
/>
</div>
@@ -66,17 +53,9 @@ export default function LandingPage() {
description="Meet the creators behind the brand."
members={[
{
id: "m1",
name: "Alex Rivers",
role: "Creative Director",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-football-players_23-2150904343.jpg",
},
id: "m1", name: "Alex Rivers", role: "Creative Director", imageSrc: "http://img.b2bpic.net/free-photo/portrait-football-players_23-2150904343.jpg"},
{
id: "m2",
name: "Sam Thorne",
role: "Lead Designer",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-man-with-football-ball_23-2148867389.jpg",
},
id: "m2", name: "Sam Thorne", role: "Lead Designer", imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-man-with-football-ball_23-2148867389.jpg"},
]}
/>
</div>
@@ -85,36 +64,12 @@ export default function LandingPage() {
<FooterBaseCard
logoText="90style"
columns={[
{
title: "Company",
items: [
{
label: "About",
href: "/about",
},
{
label: "Contact",
href: "/contact",
},
],
},
{
title: "Shop",
items: [
{
label: "Jerseys",
href: "/shop",
},
{
label: "Jackets",
href: "/shop",
},
],
},
{ title: "Company", items: [{ label: "About", href: "/about" }, { label: "Contact", href: "/contact" }] },
{ title: "Shop", items: [{ label: "Jerseys", href: "/shop" }, { label: "Jackets", href: "/shop" }] },
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}

73
src/app/checkout/page.tsx Normal file
View File

@@ -0,0 +1,73 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import { useState } from "react";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
import Input from '@/components/form/Input';
export default function CheckoutPage() {
const [email, setEmail] = useState("");
const [city, setCity] = useState("");
const [country, setCountry] = useState("");
const [zip, setZip] = useState("");
const [phone, setPhone] = useState("");
const [street, setStreet] = useState("");
return (
<ThemeProvider
defaultButtonVariant="shift-hover"
defaultTextAnimation="reveal-blur"
borderRadius="pill"
contentWidth="mediumSmall"
sizing="mediumSizeLargeTitles"
background="floatingGradient"
cardStyle="inset"
primaryButtonStyle="gradient"
secondaryButtonStyle="solid"
headingFontWeight="normal"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{ name: "Home", id: "/" },
{ name: "Shop", id: "/shop" },
{ name: "About", id: "/about" },
{ name: "Contact", id: "/contact" },
]}
brandName="90style"
/>
</div>
<div id="checkout" data-section="checkout" className="py-20 px-4 md:px-10">
<div className="max-w-2xl mx-auto space-y-6">
<h1 className="text-3xl font-bold">إتمام الطلب (الدفع عند الاستلام)</h1>
<Input value={email} onChange={setEmail} placeholder="البريد الإلكتروني" required />
<Input value={phone} onChange={setPhone} placeholder="رقم الهاتف" required />
<Input value={street} onChange={setStreet} placeholder="اسم الشارع" required />
<div className="grid grid-cols-2 gap-4">
<Input value={city} onChange={setCity} placeholder="المدينة" required />
<Input value={country} onChange={setCountry} placeholder="الدولة" required />
</div>
<Input value={zip} onChange={setZip} placeholder="الرمز البريدي" />
<button className="w-full bg-primary-cta text-white py-3 rounded-full font-semibold">
تأكيد الطلب
</button>
</div>
</div>
<div id="footer" data-section="footer">
<FooterBaseCard
logoText="90style"
columns={[
{ title: "Company", items: [{ label: "About", href: "/about" }, { label: "Contact", href: "/contact" }] },
{ title: "Shop", items: [{ label: "Jerseys", href: "/shop" }, { label: "Jackets", href: "/shop" }] },
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -25,22 +25,10 @@ export default function LandingPage() {
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{
name: "Home",
id: "/",
},
{
name: "Shop",
id: "/shop",
},
{
name: "About",
id: "/about",
},
{
name: "Contact",
id: "/contact",
},
{ name: "Home", id: "/" },
{ name: "Shop", id: "/shop" },
{ name: "About", id: "/about" },
{ name: "Contact", id: "/contact" },
]}
brandName="90style"
/>
@@ -49,16 +37,9 @@ export default function LandingPage() {
<div id="contact" data-section="contact">
<ContactText
useInvertedBackground={false}
background={{
variant: "plain",
}}
background={{ variant: "plain" }}
text="Let's connect. Whether you have inquiries about our drops or need support with an order, we're here."
buttons={[
{
text: "Start Conversation",
href: "/contact",
},
]}
buttons={[{ text: "Start Conversation", href: "/contact" }]}
/>
</div>
@@ -70,25 +51,9 @@ export default function LandingPage() {
description="What our supporters are saying."
testimonials={[
{
id: "t1",
name: "Jordan P.",
date: "Oct 2023",
title: "Amazing quality",
quote: "The retro jersey feels authentic and premium. Best drop this year.",
tag: "Verified",
avatarSrc: "http://img.b2bpic.net/free-photo/front-view-sad-boy-holding-ball_23-2149748388.jpg",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-young-male-white-t-shirt-colorful-coat-posing-showing-his-clothes-pink-background_140725-26961.jpg",
},
id: "t1", name: "Jordan P.", date: "Oct 2023", title: "Amazing quality", quote: "The retro jersey feels authentic and premium. Best drop this year.", tag: "Verified", avatarSrc: "http://img.b2bpic.net/free-photo/front-view-sad-boy-holding-ball_23-2149748388.jpg", imageSrc: "http://img.b2bpic.net/free-photo/front-view-young-male-white-t-shirt-colorful-coat-posing-showing-his-clothes-pink-background_140725-26961.jpg"},
{
id: "t2",
name: "Casey L.",
date: "Nov 2023",
title: "Style icon",
quote: "My jacket is the best thing I own in my wardrobe.",
tag: "Fan",
avatarSrc: "http://img.b2bpic.net/free-photo/dark-skinned-bearded-hipster-guy-dressed-black-hoodie-sports-shorts-holds-skateboard-while-sitting-stairs-ghetto_613910-6253.jpg",
imageSrc: "http://img.b2bpic.net/free-photo/displeased-man-basketball-player-holds-ball-looks-unhappily-camera_273609-46265.jpg",
},
id: "t2", name: "Casey L.", date: "Nov 2023", title: "Style icon", quote: "My jacket is the best thing I own in my wardrobe.", tag: "Fan", avatarSrc: "http://img.b2bpic.net/free-photo/dark-skinned-bearded-hipster-guy-dressed-black-hoodie-sports-shorts-holds-skateboard-while-sitting-stairs-ghetto_613910-6253.jpg", imageSrc: "http://img.b2bpic.net/free-photo/displeased-man-basketball-player-holds-ball-looks-unhappily-camera_273609-46265.jpg"},
]}
/>
</div>
@@ -97,36 +62,12 @@ export default function LandingPage() {
<FooterBaseCard
logoText="90style"
columns={[
{
title: "Company",
items: [
{
label: "About",
href: "/about",
},
{
label: "Contact",
href: "/contact",
},
],
},
{
title: "Shop",
items: [
{
label: "Jerseys",
href: "/shop",
},
{
label: "Jackets",
href: "/shop",
},
],
},
{ title: "Company", items: [{ label: "About", href: "/about" }, { label: "Contact", href: "/contact" }] },
{ title: "Shop", items: [{ label: "Jerseys", href: "/shop" }, { label: "Jackets", href: "/shop" }] },
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -8,6 +8,7 @@ import HeroBillboardRotatedCarousel from '@/components/sections/hero/HeroBillboa
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import ProductCardFour from '@/components/sections/product/ProductCardFour';
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
import ContactCenter from '@/components/sections/contact/ContactCenter';
export default function LandingPage() {
return (
@@ -27,14 +28,10 @@ export default function LandingPage() {
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{
name: "Home", id: "/"},
{
name: "Shop", id: "/shop"},
{
name: "About", id: "/about"},
{
name: "Contact", id: "/contact"},
{ name: "Home", id: "/" },
{ name: "Shop", id: "/shop" },
{ name: "About", id: "/about" },
{ name: "Contact", id: "/contact" },
]}
brandName="90style"
/>
@@ -42,33 +39,31 @@ export default function LandingPage() {
<div id="hero" data-section="hero">
<HeroBillboardRotatedCarousel
background={{
variant: "gradient-bars"}}
background={{ variant: "gradient-bars" }}
title="Iconic Football Culture."
description="Exclusive jerseys, premium jackets, and streetwear pieces that define your identity. Wear, Play, Win."
buttons={[
{
text: "Shop the Collection", href: "/shop"},
{
text: "Explore Jerseys", href: "/shop"},
]}
buttons={[{ text: "Shop the Collection", href: "/shop" }, { text: "Explore Jerseys", href: "/shop" }]}
carouselItems={[
{
id: "1", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-men-with-braids-portrait_23-2151428249.jpg", imageAlt: "football jersey luxury display"},
{
id: "2", imageSrc: "http://img.b2bpic.net/free-photo/portrait-soccer-players-with-ball_23-2150904533.jpg", imageAlt: "football jersey luxury display"},
{
id: "3", imageSrc: "http://img.b2bpic.net/free-photo/close-up-black-fabric-cuff-hem-detail_9975-134373.jpg", imageAlt: "football jersey luxury display"},
{
id: "4", imageSrc: "http://img.b2bpic.net/free-photo/blond-teenager-boy-dressed-jeans-plays-with-soccer-ball-grey-background_613910-11956.jpg", imageAlt: "football jersey luxury display"},
{
id: "5", imageSrc: "http://img.b2bpic.net/free-photo/ornate-silk-dress-showcases-indigenous-culture-beauty-generated-by-ai_188544-27952.jpg", imageAlt: "football jersey luxury display"},
{
id: "6", imageSrc: "http://img.b2bpic.net/free-photo/man-with-tattoos-his-neck-face-arms-dressed-camouflage-t-shirt_613910-1472.jpg", imageAlt: "football jersey luxury display"},
{ id: "1", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-men-with-braids-portrait_23-2151428249.jpg", imageAlt: "football jersey luxury display" },
{ id: "2", imageSrc: "http://img.b2bpic.net/free-photo/portrait-soccer-players-with-ball_23-2150904533.jpg", imageAlt: "football jersey luxury display" },
{ id: "3", imageSrc: "http://img.b2bpic.net/free-photo/close-up-black-fabric-cuff-hem-detail_9975-134373.jpg", imageAlt: "football jersey luxury display" },
{ id: "4", imageSrc: "http://img.b2bpic.net/free-photo/blond-teenager-boy-dressed-jeans-plays-with-soccer-ball-grey-background_613910-11956.jpg", imageAlt: "football jersey luxury display" },
{ id: "5", imageSrc: "http://img.b2bpic.net/free-photo/ornate-silk-dress-showcases-indigenous-culture-beauty-generated-by-ai_188544-27952.jpg", imageAlt: "football jersey luxury display" },
{ id: "6", imageSrc: "http://img.b2bpic.net/free-photo/man-with-tattoos-his-neck-face-arms-dressed-camouflage-t-shirt_613910-1472.jpg", imageAlt: "football jersey luxury display" },
]}
/>
</div>
<div id="contact-settings" data-section="contact-settings">
<ContactCenter
tag="إعدادات التواصل"
title="تحديث بيانات الاتصال"
description="تحديث أرقام هواتف خدمة العملاء وروابط واتساب الخاصة بالموقع بكل سهولة."
background={{ variant: "plain" }}
useInvertedBackground={true}
/>
</div>
<div id="best-sellers" data-section="best-sellers">
<ProductCardFour
animationType="slide-up"
@@ -76,81 +71,27 @@ export default function LandingPage() {
gridVariant="three-columns-all-equal-width"
useInvertedBackground={true}
products={[
{
id: "p1", name: "The Classic Retro", price: "$120", variant: "Home Jersey", imageSrc: "http://img.b2bpic.net/free-photo/view-american-football-balls_23-2150784064.jpg"},
{
id: "p2", name: "Limited Bomber", price: "$180", variant: "Streetwear", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-attractive-male-model-color-flash-light_158595-5120.jpg"},
{
id: "p3", name: "Iconic 90style", price: "$95", variant: "Club Shirt", imageSrc: "http://img.b2bpic.net/free-photo/high-fashion-look-glamor-stylish-sexy-smiling-beautiful-young-blond-woman-model-summer-casual-sport-cloth_158538-14607.jpg"},
{
id: "p4", name: "Pitch Ready Zip", price: "$110", variant: "Training Gear", imageSrc: "http://img.b2bpic.net/free-photo/view-rugby-player-with-equipment_23-2150995732.jpg"},
{
id: "p5", name: "Stadium Essential", price: "$85", variant: "Casual Wear", imageSrc: "http://img.b2bpic.net/free-photo/american-football-american-football-player-professional-sport-stadium_654080-254.jpg"},
{ id: "p1", name: "The Classic Retro", price: "$120", variant: "Home Jersey", imageSrc: "http://img.b2bpic.net/free-photo/view-american-football-balls_23-2150784064.jpg" },
{ id: "p2", name: "Limited Bomber", price: "$180", variant: "Streetwear", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-attractive-male-model-color-flash-light_158595-5120.jpg" },
{ id: "p3", name: "Iconic 90style", price: "$95", variant: "Club Shirt", imageSrc: "http://img.b2bpic.net/free-photo/high-fashion-look-glamor-stylish-sexy-smiling-beautiful-young-blond-woman-model-summer-casual-sport-cloth_158538-14607.jpg" },
{ id: "p4", name: "Pitch Ready Zip", price: "$110", variant: "Training Gear", imageSrc: "http://img.b2bpic.net/free-photo/view-rugby-player-with-equipment_23-2150995732.jpg" },
{ id: "p5", name: "Stadium Essential", price: "$85", variant: "Casual Wear", imageSrc: "http://img.b2bpic.net/free-photo/american-football-american-football-player-professional-sport-stadium_654080-254.jpg" },
]}
title="Best Sellers"
description="Our most coveted pieces of the season."
/>
</div>
<div id="lifestyle" data-section="lifestyle">
<FeatureCardTwentySeven
animationType="slide-up"
textboxLayout="split"
useInvertedBackground={false}
features={[
{
id: "f1", title: "Cultural Heritage", descriptions: [
"Inspired by the icons of the 90s football era."],
imageSrc: "http://img.b2bpic.net/free-photo/african-american-bearded-guy-dressed-black-hoodie-sports-shorts-sitting-skateboard-with-basketball-leaning-wall_613910-5243.jpg"},
{
id: "f2", title: "Exclusive Drops", descriptions: [
"Limited runs that mean something."],
imageSrc: "http://img.b2bpic.net/free-photo/dark-skinned-bearded-hipster-guy-dressed-black-hoodie-sports-shorts-holds-skateboard-while-sitting-stairs-ghetto_613910-17652.jpg"},
{
id: "f3", title: "Premium Fabric", descriptions: [
"Designed for style, built to last."],
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-beautiful-teenager_23-2149153333.jpg"},
]}
title="More Than Merch"
description="90style is a movement. We blend the raw energy of football stadiums with the elegance of modern street culture."
/>
</div>
<div id="socialProof" data-section="socialProof">
<SocialProofOne
textboxLayout="default"
useInvertedBackground={false}
title="Trusted by Creators"
description="Join a community defined by style and athletic excellence."
names={[
"Urban League", "Street FC", "Pitchside Media", "Elite Style", "Goalbound Agency"]}
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseCard
logoText="90style"
columns={[
{
title: "Company", items: [
{
label: "About", href: "/about"},
{
label: "Contact", href: "/contact"},
],
},
{
title: "Shop", items: [
{
label: "Jerseys", href: "/shop"},
{
label: "Jackets", href: "/shop"},
],
},
{ title: "Company", items: [{ label: "About", href: "/about" }, { label: "Contact", href: "/contact" }] },
{ title: "Shop", items: [{ label: "Jerseys", href: "/shop" }, { label: "Jackets", href: "/shop" }] },
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -25,22 +25,10 @@ export default function LandingPage() {
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{
name: "Home",
id: "/",
},
{
name: "Shop",
id: "/shop",
},
{
name: "About",
id: "/about",
},
{
name: "Contact",
id: "/contact",
},
{ name: "Home", id: "/" },
{ name: "Shop", id: "/shop" },
{ name: "About", id: "/about" },
{ name: "Contact", id: "/contact" },
]}
brandName="90style"
/>
@@ -51,24 +39,16 @@ export default function LandingPage() {
useInvertedBackground={false}
title="The Full Collection"
description={[
"Explore our curated selection of retro jerseys and modern apparel. Every piece is designed to tell a story of heritage and quality.",
]}
"Explore our curated selection of retro jerseys and modern apparel. Every piece is designed to tell a story of heritage and quality."]}
/>
</div>
<div id="contact" data-section="contact">
<ContactText
useInvertedBackground={false}
background={{
variant: "plain",
}}
background={{ variant: "plain" }}
text="Need styling advice? Our curators are here to help."
buttons={[
{
text: "Message Us",
href: "/contact",
},
]}
buttons={[{ text: "Message Us", href: "/contact" }]}
/>
</div>
@@ -76,36 +56,12 @@ export default function LandingPage() {
<FooterBaseCard
logoText="90style"
columns={[
{
title: "Company",
items: [
{
label: "About",
href: "/about",
},
{
label: "Contact",
href: "/contact",
},
],
},
{
title: "Shop",
items: [
{
label: "Jerseys",
href: "/shop",
},
{
label: "Jackets",
href: "/shop",
},
],
},
{ title: "Company", items: [{ label: "About", href: "/about" }, { label: "Contact", href: "/contact" }] },
{ title: "Shop", items: [{ label: "Jerseys", href: "/shop" }, { label: "Jackets", href: "/shop" }] },
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}