Initial commit
This commit is contained in:
2
.env
Normal file
2
.env
Normal file
@@ -0,0 +1,2 @@
|
||||
NEXT_PUBLIC_API_URL=https://dev.api.webild.io
|
||||
NEXT_PUBLIC_PROJECT_ID=f125c76d-978c-40ca-b224-ceaffec9615f
|
||||
57
.gitea/workflows/build.yml
Normal file
57
.gitea/workflows/build.yml
Normal file
@@ -0,0 +1,57 @@
|
||||
name: Code Check
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
branch:
|
||||
description: 'Branch to check'
|
||||
required: true
|
||||
default: 'main'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
|
||||
steps:
|
||||
- name: Checkout branch
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ gitea.event.inputs.branch }}
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 24
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
set -euo pipefail
|
||||
npm ci --prefer-offline --no-audit 2>&1 | tee install.log
|
||||
env:
|
||||
NODE_OPTIONS: '--max-old-space-size=4096'
|
||||
|
||||
- name: TypeScript check
|
||||
run: |
|
||||
set -euo pipefail
|
||||
npm run typecheck 2>&1 | tee build.log
|
||||
|
||||
- name: ESLint check
|
||||
run: |
|
||||
set -euo pipefail
|
||||
npm run lint 2>&1 | tee build.log
|
||||
|
||||
- name: Upload build log on failure
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build-log
|
||||
path: build.log
|
||||
if-no-files-found: ignore
|
||||
|
||||
- name: Check completed
|
||||
if: success()
|
||||
run: echo "Typecheck and lint passed successfully"
|
||||
91
src/app/blog/page.tsx
Normal file
91
src/app/blog/page.tsx
Normal file
@@ -0,0 +1,91 @@
|
||||
"use client";
|
||||
|
||||
import ReactLenis from "lenis/react";
|
||||
import BlogCardTwo from '@/components/sections/blog/BlogCardTwo';
|
||||
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import { useBlogPosts } from "@/hooks/useBlogPosts";
|
||||
|
||||
export default function BlogPage() {
|
||||
const { posts, isLoading } = useBlogPosts();
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="shift-hover"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="pill"
|
||||
contentWidth="mediumLarge"
|
||||
sizing="medium"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-radial"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="light"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div className="min-h-screen bg-background">
|
||||
<NavbarStyleCentered
|
||||
brandName="iPhone Store"
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Products", id: "products" },
|
||||
{ name: "Specs", id: "specs" },
|
||||
{ name: "Reviews", id: "testimonials" },
|
||||
{ name: "Pricing", id: "pricing" },
|
||||
{ name: "FAQ", id: "faq" }
|
||||
]}
|
||||
button={{ text: "Buy Now", href: "pricing" }}
|
||||
/>
|
||||
|
||||
{isLoading ? (
|
||||
<div className="w-content-width mx-auto py-20 text-center">
|
||||
<p className="text-foreground">Loading posts...</p>
|
||||
</div>
|
||||
) : (
|
||||
<BlogCardTwo
|
||||
blogs={posts}
|
||||
title="Latest iPhone News & Reviews"
|
||||
description="Stay updated with the latest iPhone insights, reviews, and tech news from our expert team"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
animationType="slide-up"
|
||||
carouselMode="buttons"
|
||||
/>
|
||||
)}
|
||||
|
||||
<FooterBase
|
||||
logoText="iPhone Store"
|
||||
copyrightText="© 2025 iPhone Store. All rights reserved."
|
||||
columns={[
|
||||
{
|
||||
title: "Shop", items: [
|
||||
{ label: "iPhone 15 Pro", href: "products" },
|
||||
{ label: "iPhone 15", href: "products" },
|
||||
{ label: "iPhone SE", href: "products" },
|
||||
{ label: "Compare Models", href: "specs" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Support", items: [
|
||||
{ label: "Product Specs", href: "specs" },
|
||||
{ label: "FAQ", href: "faq" },
|
||||
{ label: "Warranty Info", href: "faq" },
|
||||
{ label: "Contact Us", href: "contact" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "https://example.com/about" },
|
||||
{ label: "Blog", href: "https://example.com/blog" },
|
||||
{ label: "Careers", href: "https://example.com/careers" },
|
||||
{ label: "Sustainability", href: "https://example.com/sustainability" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
5
src/app/globals.css
Normal file
5
src/app/globals.css
Normal file
@@ -0,0 +1,5 @@
|
||||
@import "tailwindcss";
|
||||
@import "./styles/variables.css";
|
||||
@import "./styles/theme.css";
|
||||
@import "./styles/utilities.css";
|
||||
@import "./styles/base.css";
|
||||
1270
src/app/layout.tsx
Normal file
1270
src/app/layout.tsx
Normal file
File diff suppressed because it is too large
Load Diff
358
src/app/page.tsx
Normal file
358
src/app/page.tsx
Normal file
@@ -0,0 +1,358 @@
|
||||
"use client"
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import HeroBillboardDashboard from '@/components/sections/hero/HeroBillboardDashboard';
|
||||
import ProductCardOne from '@/components/sections/product/ProductCardOne';
|
||||
import FeatureCardSix from '@/components/sections/feature/FeatureCardSix';
|
||||
import MetricCardSeven from '@/components/sections/metrics/MetricCardSeven';
|
||||
import TestimonialCardOne from '@/components/sections/testimonial/TestimonialCardOne';
|
||||
import PricingCardTwo from '@/components/sections/pricing/PricingCardTwo';
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import ContactSplit from '@/components/sections/contact/ContactSplit';
|
||||
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||
import { Apple, Camera, Crown, HelpCircle, Heart, Mail, Shield, Smartphone, Sparkles, Star, TrendingUp, Zap } from 'lucide-react';
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="shift-hover"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="pill"
|
||||
contentWidth="mediumLarge"
|
||||
sizing="medium"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-radial"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="light"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleCentered
|
||||
brandName="iPhone Store"
|
||||
navItems={[
|
||||
{ name: "Products", id: "products" },
|
||||
{ name: "Specs", id: "specs" },
|
||||
{ name: "Reviews", id: "testimonials" },
|
||||
{ name: "Pricing", id: "pricing" },
|
||||
{ name: "FAQ", id: "faq" }
|
||||
]}
|
||||
button={{ text: "Buy Now", href: "pricing" }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroBillboardDashboard
|
||||
tag="Premium iPhone Selection"
|
||||
tagIcon={Smartphone}
|
||||
title="Experience the Future in Your Hand"
|
||||
description="Discover our curated collection of the latest iPhone models. Premium devices with cutting-edge technology, stunning displays, and exceptional cameras."
|
||||
buttons={[
|
||||
{ text: "Shop Now", href: "products" },
|
||||
{ text: "Learn More", href: "specs" }
|
||||
]}
|
||||
background={{ variant: "radial-gradient" }}
|
||||
dashboard={{
|
||||
title: "iPhone Selection Hub", logoIcon: Apple,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/mockup-mobile-phone-screen_53876-63379.jpg", searchPlaceholder: "Find your perfect iPhone...", buttons: [
|
||||
{ text: "View All Models", href: "products" },
|
||||
{ text: "Compare Specs", href: "specs" }
|
||||
],
|
||||
sidebarItems: [
|
||||
{ icon: Smartphone, active: true },
|
||||
{ icon: Zap },
|
||||
{ icon: Camera }
|
||||
],
|
||||
stats: [
|
||||
{
|
||||
title: "Performance", values: ["A18 Pro", "6-core CPU", "GPU Optimized"],
|
||||
description: "Latest chip technology"
|
||||
},
|
||||
{
|
||||
title: "Camera Quality", values: ["48MP", "ProRAW", "Night Mode"],
|
||||
description: "Professional-grade imaging"
|
||||
},
|
||||
{
|
||||
title: "Battery Life", values: ["24 Hours", "Super", "Cycle"],
|
||||
valuePrefix: "", description: "All-day battery with MagSafe"
|
||||
}
|
||||
],
|
||||
chartTitle: "iPhone Sales Trend", chartData: [
|
||||
{ value: 85 },
|
||||
{ value: 92 },
|
||||
{ value: 78 },
|
||||
{ value: 95 },
|
||||
{ value: 88 }
|
||||
],
|
||||
listTitle: "Top Features", listItems: [
|
||||
{ icon: Zap, title: "A18 Pro Chip", status: "Latest" },
|
||||
{ icon: Camera, title: "Advanced Camera System", status: "Pro" },
|
||||
{ icon: Shield, title: "Enhanced Security", status: "Secure" }
|
||||
]
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="products" data-section="products">
|
||||
<ProductCardOne
|
||||
title="Featured iPhones"
|
||||
description="Choose from our selection of premium iPhone models, each engineered for excellence."
|
||||
tag="New Arrivals"
|
||||
tagIcon={Star}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
products={[
|
||||
{
|
||||
id: "1", name: "iPhone 15 Pro Max", price: "$1,199", imageSrc: "https://img.b2bpic.net/free-photo/smartphone-laptop-side-view_1057-4326.jpg"
|
||||
},
|
||||
{
|
||||
id: "2", name: "iPhone 15 Pro", price: "$999", imageSrc: "https://img.b2bpic.net/free-photo/smartphone-device-with-minimalist-monochrome-background_23-2150763338.jpg"
|
||||
},
|
||||
{
|
||||
id: "3", name: "iPhone 15", price: "$799", imageSrc: "https://img.b2bpic.net/free-photo/smartphone-device-with-minimalist-monochrome-background_23-2150763338.jpg"
|
||||
},
|
||||
{
|
||||
id: "4", name: "iPhone SE", price: "$429", imageSrc: "https://img.b2bpic.net/free-photo/still-life-tech-device_23-2150722629.jpg"
|
||||
}
|
||||
]}
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
buttons={[{ text: "Compare Models", href: "specs" }]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="specs" data-section="specs">
|
||||
<FeatureCardSix
|
||||
title="Why Choose Our iPhones"
|
||||
description="Discover the key features that make our iPhones stand out from the competition."
|
||||
tag="Product Features"
|
||||
tagIcon={Zap}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="invertDefault"
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "Advanced Camera System", description: "Professional-grade camera with 48MP main sensor, Night mode, and ProRAW support for stunning photography in any condition.", imageSrc: "https://img.b2bpic.net/free-photo/smartphone-laptop-side-view_1057-4326.jpg"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "A18 Pro Chip", description: "Next-generation processor delivering unmatched speed and efficiency. Perfect for gaming, editing, and multitasking.", imageSrc: "https://img.b2bpic.net/free-photo/smartphone-device-with-minimalist-monochrome-background_23-2150763338.jpg"
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "All-Day Battery", description: "Up to 24 hours of battery life with new optimization. Stay connected from sunrise to sunrise.", imageSrc: "https://img.b2bpic.net/free-photo/still-life-tech-device_23-2150722629.jpg"
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
title: "Stunning Display", description: "Super Retina XDR display with incredible brightness and color accuracy for an immersive visual experience.", imageSrc: "https://img.b2bpic.net/free-photo/smartphone-laptop-side-view_1057-4326.jpg"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<MetricCardSeven
|
||||
title="iPhone Excellence by Numbers"
|
||||
description="Our commitment to quality backed by impressive performance metrics."
|
||||
tag="Performance Specs"
|
||||
tagIcon={TrendingUp}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
metrics={[
|
||||
{
|
||||
id: "1", value: "48MP", title: "Main Camera Resolution", items: [
|
||||
"Ultra-wide lens included", "5x optical zoom", "Night mode photography"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "2", value: "120Hz", title: "ProMotion Display", items: [
|
||||
"Smooth scrolling experience", "Gaming-optimized refresh", "Power-efficient technology"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "3", value: "6GB", title: "RAM Memory", items: [
|
||||
"Seamless multitasking", "App switching speed", "Performance optimization"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "4", value: "5G", title: "Connectivity Speed", items: [
|
||||
"Ultra-fast downloads", "Cloud integration", "Streaming quality"
|
||||
]
|
||||
}
|
||||
]
|
||||
animationType="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<TestimonialCardOne
|
||||
title="What Our Customers Love"
|
||||
description="Real feedback from satisfied iPhone buyers who trust our selection and service."
|
||||
tag="Customer Reviews"
|
||||
tagIcon={Heart}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="invertDefault"
|
||||
gridVariant="uniform-all-items-equal"
|
||||
animationType="slide-up"
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "Sarah Chen", role: "Creative Director", company: "Design Studio", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Marcus Johnson", role: "Product Manager", company: "Tech Startup", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Elena Rodriguez", role: "Photographer", company: "Visual Arts Co", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/closeup-happy-middle-aged-business-leader_1262-4823.jpg"
|
||||
},
|
||||
{
|
||||
id: "4", name: "David Kim", role: "Software Engineer", company: "Innovation Labs", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/portrait-young-confident-businessman-wearing-glasses_158595-5360.jpg"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="pricing" data-section="pricing">
|
||||
<PricingCardTwo
|
||||
title="Transparent iPhone Pricing"
|
||||
description="Choose the perfect iPhone model that fits your budget and lifestyle."
|
||||
tag="Best Value"
|
||||
tagIcon={Sparkles}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
animationType="slide-up"
|
||||
plans={[
|
||||
{
|
||||
id: "se", badge: "iPhone SE", badgeIcon: Zap,
|
||||
price: "$429", subtitle: "Perfect for everyday users", buttons: [
|
||||
{ text: "Buy Now", href: "contact" },
|
||||
{ text: "Learn More", href: "specs" }
|
||||
],
|
||||
features: [
|
||||
"5G connectivity", "A15 Bionic chip", "Single camera system", "Up to 15 hours battery", "64GB storage option"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "15", badge: "iPhone 15", badgeIcon: Star,
|
||||
price: "$799", subtitle: "Great all-around smartphone", buttons: [
|
||||
{ text: "Buy Now", href: "contact" },
|
||||
{ text: "Learn More", href: "specs" }
|
||||
],
|
||||
features: [
|
||||
"5G Ultra Wideband", "A17 Pro chip", "Dual camera system", "Up to 20 hours battery", "256GB storage"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "15pro", badge: "iPhone 15 Pro", badgeIcon: Crown,
|
||||
price: "$999", subtitle: "Professional-grade features", buttons: [
|
||||
{ text: "Buy Now", href: "contact" },
|
||||
{ text: "Learn More", href: "specs" }
|
||||
],
|
||||
features: [
|
||||
"5G Pro Speed", "A18 Pro chip", "48MP main camera", "Up to 24 hours battery", "ProRAW support"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "15promax", badge: "iPhone 15 Pro Max", badgeIcon: Zap,
|
||||
price: "$1,199", subtitle: "Maximum power and capability", buttons: [
|
||||
{ text: "Buy Now", href: "contact" },
|
||||
{ text: "Learn More", href: "specs" }
|
||||
],
|
||||
features: [
|
||||
"5G Elite connectivity", "A18 Pro chip", "5x optical zoom", "Up to 30 hours battery", "1TB storage option"
|
||||
]
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<FaqSplitMedia
|
||||
title="Frequently Asked Questions"
|
||||
description="Find answers to common questions about our iPhones, pricing, and services."
|
||||
tag="Help & Support"
|
||||
tagIcon={HelpCircle}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="invertDefault"
|
||||
imageSrc="https://img.b2bpic.net/free-photo/still-life-tech-device_23-2150722646.jpg"
|
||||
imageAlt="iPhone features and specifications"
|
||||
mediaPosition="left"
|
||||
animationType="smooth"
|
||||
faqs={[
|
||||
{
|
||||
id: "1", title: "What is the warranty coverage on your iPhones?", content: "All our iPhones come with Apple's standard one-year limited warranty covering manufacturing defects. We also offer extended AppleCare+ options for up to 3 years of coverage including accidental damage."
|
||||
},
|
||||
{
|
||||
id: "2", title: "Do you offer payment plans?", content: "Yes, we offer flexible payment plans through major credit cards and financing partners. You can spread payments over 12-24 months with competitive interest rates. Contact our sales team for details."
|
||||
},
|
||||
{
|
||||
id: "3", title: "Can I trade in my old iPhone?", content: "Absolutely! We accept trade-ins for any iPhone model. The trade-in value depends on the condition and model year. You'll receive credit towards your new purchase."
|
||||
},
|
||||
{
|
||||
id: "4", title: "What storage capacity should I choose?", content: "Choose based on your usage: 64GB for light users, 128GB for standard use, 256GB for heavy media consumption, and 512GB or 1TB for professionals who shoot ProRAW video and photos."
|
||||
},
|
||||
{
|
||||
id: "5", title: "How long does shipping take?", content: "Standard shipping takes 3-5 business days. We also offer express 1-2 day shipping and same-day delivery in select areas. All orders are fully insured during transit."
|
||||
},
|
||||
{
|
||||
id: "6", title: "Are there student discounts available?", content: "Yes! Students with a valid .edu email receive a 10% discount on all iPhone models. Teachers and education professionals get up to 15% off. Activate your discount at checkout."
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactSplit
|
||||
tag="Stay Connected"
|
||||
tagIcon={Mail}
|
||||
title="Get the Latest iPhone Updates"
|
||||
description="Subscribe to our newsletter for exclusive deals, product launches, and tech tips delivered to your inbox."
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
useInvertedBackground="noInvert"
|
||||
imageSrc="https://img.b2bpic.net/free-photo/join-us-register-newsletter-concept_53876-132697.jpg"
|
||||
imageAlt="Newsletter subscription"
|
||||
mediaPosition="right"
|
||||
inputPlaceholder="your@email.com"
|
||||
buttonText="Subscribe"
|
||||
termsText="We respect your privacy. Unsubscribe at any time. By subscribing, you agree to our Terms of Service."
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterBase
|
||||
logoText="iPhone Store"
|
||||
copyrightText="© 2025 iPhone Store. All rights reserved."
|
||||
columns={[
|
||||
{
|
||||
title: "Shop", items: [
|
||||
{ label: "iPhone 15 Pro", href: "products" },
|
||||
{ label: "iPhone 15", href: "products" },
|
||||
{ label: "iPhone SE", href: "products" },
|
||||
{ label: "Compare Models", href: "specs" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Support", items: [
|
||||
{ label: "Product Specs", href: "specs" },
|
||||
{ label: "FAQ", href: "faq" },
|
||||
{ label: "Warranty Info", href: "faq" },
|
||||
{ label: "Contact Us", href: "contact" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "https://example.com/about" },
|
||||
{ label: "Blog", href: "https://example.com/blog" },
|
||||
{ label: "Careers", href: "https://example.com/careers" },
|
||||
{ label: "Sustainability", href: "https://example.com/sustainability" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
106
src/app/shop/page.tsx
Normal file
106
src/app/shop/page.tsx
Normal file
@@ -0,0 +1,106 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
|
||||
import FooterBase from '@/components/sections/footer/FooterBase';
|
||||
import { ShoppingBag } from 'lucide-react';
|
||||
|
||||
export default function ShopPage() {
|
||||
const products = [
|
||||
{
|
||||
id: "1", brand: "Apple", name: "iPhone 15 Pro Max", price: "$1,199", rating: 5,
|
||||
reviewCount: "12.5k", imageSrc: "/images/iphone-15-pro-max.jpg", imageAlt: "iPhone 15 Pro Max", onProductClick: () => console.log("Product clicked")
|
||||
},
|
||||
{
|
||||
id: "2", brand: "Apple", name: "iPhone 15 Pro", price: "$999", rating: 5,
|
||||
reviewCount: "8.9k", imageSrc: "/images/iphone-15-pro.jpg", imageAlt: "iPhone 15 Pro", onProductClick: () => console.log("Product clicked")
|
||||
},
|
||||
{
|
||||
id: "3", brand: "Apple", name: "iPhone 15", price: "$799", rating: 4,
|
||||
reviewCount: "15.2k", imageSrc: "/images/iphone-15.jpg", imageAlt: "iPhone 15", onProductClick: () => console.log("Product clicked")
|
||||
},
|
||||
{
|
||||
id: "4", brand: "Apple", name: "iPhone 15 Plus", price: "$899", rating: 4,
|
||||
reviewCount: "6.7k", imageSrc: "/images/iphone-15-plus.jpg", imageAlt: "iPhone 15 Plus", onProductClick: () => console.log("Product clicked")
|
||||
},
|
||||
{
|
||||
id: "5", brand: "Apple", name: "iPhone SE", price: "$429", rating: 4,
|
||||
reviewCount: "9.1k", imageSrc: "/images/iphone-se.jpg", imageAlt: "iPhone SE", onProductClick: () => console.log("Product clicked")
|
||||
},
|
||||
{
|
||||
id: "6", brand: "Apple", name: "iPhone 14 Pro", price: "$899", rating: 5,
|
||||
reviewCount: "11.3k", imageSrc: "/images/iphone-14-pro.jpg", imageAlt: "iPhone 14 Pro", onProductClick: () => console.log("Product clicked")
|
||||
}
|
||||
];
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="shift-hover"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="pill"
|
||||
contentWidth="mediumLarge"
|
||||
sizing="medium"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-radial"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="light"
|
||||
>
|
||||
<NavbarStyleCentered
|
||||
brandName="iPhone Store"
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Shop", id: "/shop" }
|
||||
]}
|
||||
button={{
|
||||
text: "Buy Now", href: "/"
|
||||
}}
|
||||
/>
|
||||
|
||||
<ProductCardTwo
|
||||
products={products}
|
||||
title="iPhone Collection"
|
||||
description="Discover the latest iPhone models with cutting-edge technology and premium design"
|
||||
tag="Premium Devices"
|
||||
tagIcon={ShoppingBag}
|
||||
textboxLayout="default"
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground="noInvert"
|
||||
carouselMode="buttons"
|
||||
/>
|
||||
|
||||
<FooterBase
|
||||
logoText="iPhone Store"
|
||||
copyrightText="© 2025 iPhone Store. All rights reserved."
|
||||
columns={[
|
||||
{
|
||||
title: "Shop", items: [
|
||||
{ label: "iPhone 15 Pro", href: "/" },
|
||||
{ label: "iPhone 15", href: "/" },
|
||||
{ label: "iPhone SE", href: "/" },
|
||||
{ label: "Compare Models", href: "/" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Support", items: [
|
||||
{ label: "Product Specs", href: "/" },
|
||||
{ label: "FAQ", href: "/" },
|
||||
{ label: "Warranty Info", href: "/" },
|
||||
{ label: "Contact Us", href: "/" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "/" },
|
||||
{ label: "Blog", href: "/" },
|
||||
{ label: "Careers", href: "/" },
|
||||
{ label: "Sustainability", href: "/" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
5
vercel.json
Normal file
5
vercel.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"installCommand": "npm ci",
|
||||
"buildCommand": "npm run build",
|
||||
"outputDirectory": ".next"
|
||||
}
|
||||
Reference in New Issue
Block a user