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=a2c46dc5-33b8-4841-bb99-40adc62d9524
|
||||
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"
|
||||
92
src/app/blog/page.tsx
Normal file
92
src/app/blog/page.tsx
Normal file
@@ -0,0 +1,92 @@
|
||||
"use client";
|
||||
|
||||
import ReactLenis from "lenis/react";
|
||||
import BlogCardOne from "@/components/sections/blog/BlogCardOne";
|
||||
import FooterMedia from '@/components/sections/footer/FooterMedia';
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||
import { useBlogPosts } from "@/hooks/useBlogPosts";
|
||||
|
||||
export default function BlogPage() {
|
||||
const { posts, isLoading } = useBlogPosts();
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-bubble"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="soft"
|
||||
contentWidth="compact"
|
||||
sizing="largeSizeMediumTitles"
|
||||
background="circleGradient"
|
||||
cardStyle="outline"
|
||||
primaryButtonStyle="shadow"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div className="min-h-screen bg-background">
|
||||
<NavbarStyleApple
|
||||
brandName="iPhone"
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Models", id: "products" },
|
||||
{ name: "Features", id: "features" },
|
||||
{ name: "Specs", id: "metrics" },
|
||||
{ name: "Reviews", id: "testimonials" },
|
||||
{ name: "Support", id: "faq" }
|
||||
]}
|
||||
/>
|
||||
|
||||
{isLoading ? (
|
||||
<div className="w-content-width mx-auto py-20 text-center">
|
||||
<p className="text-foreground">Loading posts...</p>
|
||||
</div>
|
||||
) : (
|
||||
<BlogCardOne
|
||||
blogs={posts}
|
||||
title="iPhone Insights"
|
||||
description="Discover the latest iPhone news, tips, and insights from our team"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
carouselMode="buttons"
|
||||
animationType="slide-up"
|
||||
/>
|
||||
)}
|
||||
|
||||
<FooterMedia
|
||||
imageSrc="https://img.b2bpic.net/free-photo/mockup-mobile-phone-screen_53876-63379.jpg"
|
||||
imageAlt="iPhone product lineup"
|
||||
logoText="iPhone"
|
||||
copyrightText="© 2025 Apple Inc. All rights reserved."
|
||||
columns={[
|
||||
{
|
||||
title: "Shop", items: [
|
||||
{ label: "iPhone Models", href: "#products" },
|
||||
{ label: "Compare", href: "#features" },
|
||||
{ label: "Specs", href: "#metrics" },
|
||||
{ label: "Trade In", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Support", items: [
|
||||
{ label: "Help & Support", href: "#faq" },
|
||||
{ label: "AppleCare+", href: "#" },
|
||||
{ label: "Contact Us", href: "#contact" },
|
||||
{ label: "Service Status", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Company", items: [
|
||||
{ label: "About", href: "#" },
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Careers", href: "#" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</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";
|
||||
1265
src/app/layout.tsx
Normal file
1265
src/app/layout.tsx
Normal file
File diff suppressed because it is too large
Load Diff
261
src/app/page.tsx
Normal file
261
src/app/page.tsx
Normal file
@@ -0,0 +1,261 @@
|
||||
"use client"
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||
import HeroLogoBillboardSplit from '@/components/sections/hero/HeroLogoBillboardSplit';
|
||||
import ProductCardFour from '@/components/sections/product/ProductCardFour';
|
||||
import FeatureCardTwentyThree from '@/components/sections/feature/FeatureCardTwentyThree';
|
||||
import MetricCardTen from '@/components/sections/metrics/MetricCardTen';
|
||||
import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen';
|
||||
import FaqBase from '@/components/sections/faq/FaqBase';
|
||||
import ContactSplit from '@/components/sections/contact/ContactSplit';
|
||||
import FooterMedia from '@/components/sections/footer/FooterMedia';
|
||||
import { HelpCircle, Heart, Mail, Smartphone, Sparkles, Zap } from "lucide-react";
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-bubble"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="soft"
|
||||
contentWidth="compact"
|
||||
sizing="largeSizeMediumTitles"
|
||||
background="circleGradient"
|
||||
cardStyle="outline"
|
||||
primaryButtonStyle="shadow"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
brandName="iPhone"
|
||||
navItems={[
|
||||
{ name: "Models", id: "products" },
|
||||
{ name: "Features", id: "features" },
|
||||
{ name: "Specs", id: "metrics" },
|
||||
{ name: "Reviews", id: "testimonials" },
|
||||
{ name: "Support", id: "faq" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroLogoBillboardSplit
|
||||
logoText="iPhone"
|
||||
description="Discover the most advanced iPhone ever. Beautifully crafted with cutting-edge technology. Experience the power of innovation in your hand."
|
||||
background={{ variant: "plain" }}
|
||||
buttons={[
|
||||
{ text: "Shop Now", href: "#products" },
|
||||
{ text: "Learn More", href: "#features" }
|
||||
]}
|
||||
layoutOrder="default"
|
||||
imageSrc="https://img.b2bpic.net/free-psd/new-smartphone-a18-bionic-social-media-banner-design-template_47987-33085.jpg"
|
||||
imageAlt="Latest iPhone Pro displaying stunning display and design"
|
||||
frameStyle="card"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="products" data-section="products">
|
||||
<ProductCardFour
|
||||
title="iPhone Models"
|
||||
description="Choose from our premium lineup of iPhone models. Each designed with precision and packed with innovation."
|
||||
tag="Available Now"
|
||||
tagIcon={Smartphone}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
animationType="slide-up"
|
||||
products={[
|
||||
{
|
||||
id: "iphone-pro-max-256gb", name: "iPhone 15 Pro Max", price: "$1,199", variant: "Titanium Blue 256GB", imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-17-pro-social-media-banner-design-template_47987-33087.jpg", imageAlt: "iPhone 15 Pro Max in Titanium Blue"
|
||||
},
|
||||
{
|
||||
id: "iphone-pro-256gb", name: "iPhone 15 Pro", price: "$999", variant: "Titanium Black 256GB", imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-17-pro-social-media-banner-design-template_47987-32600.jpg", imageAlt: "iPhone 15 Pro in Titanium Black"
|
||||
},
|
||||
{
|
||||
id: "iphone-standard-128gb", name: "iPhone 15", price: "$799", variant: "Midnight 128GB", imageSrc: "https://img.b2bpic.net/free-psd/smartphone-16-pro-discount-sale-banner-social-media-design-template_47987-25305.jpg", imageAlt: "iPhone 15 in Midnight color"
|
||||
}
|
||||
]}
|
||||
gridVariant="uniform-all-items-equal"
|
||||
carouselMode="buttons"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<FeatureCardTwentyThree
|
||||
title="Advanced Features"
|
||||
description="Engineered for excellence. Every detail crafted to deliver an extraordinary experience."
|
||||
tag="Innovation"
|
||||
tagIcon={Sparkles}
|
||||
features={[
|
||||
{
|
||||
id: "1", title: "Stunning Display Technology", tags: ["Super Retina XDR", "120Hz ProMotion"],
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/male-traveling-taking-photos_23-2148383455.jpg", imageAlt: "Advanced Super Retina XDR display"
|
||||
},
|
||||
{
|
||||
id: "2", title: "Pro Camera System", tags: ["48MP Main Camera", "Advanced AI"],
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/senior-woman-traveling-areound-world_23-2149172097.jpg", imageAlt: "Professional camera system with advanced optics"
|
||||
},
|
||||
{
|
||||
id: "3", title: "All-Day Battery Life", tags: ["30 Hour Video", "Fast Charging"],
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/two-friends-taking-selfie-smartphone_23-2147828216.jpg", imageAlt: "Extended battery technology"
|
||||
},
|
||||
{
|
||||
id: "4", title: "Advanced Security", tags: ["Face ID", "Secure Enclave"],
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/human-hand-taking-picture-suspension-bridge-cellphone-rainforest-costa-rica_23-2148248806.jpg", imageAlt: "Face ID security technology"
|
||||
}
|
||||
]}
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<MetricCardTen
|
||||
title="Technical Specifications"
|
||||
description="Every specification engineered for peak performance. Premium materials meet cutting-edge technology."
|
||||
tag="Engineering Excellence"
|
||||
tagIcon={Zap}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
animationType="slide-up"
|
||||
metrics={[
|
||||
{
|
||||
id: "1", title: "A17 Pro Chip", subtitle: "Next-generation performance processor", category: "Processor", value: "6-Core CPU"
|
||||
},
|
||||
{
|
||||
id: "2", title: "6.1\" Super Retina XDR Display", subtitle: "Stunning OLED technology", category: "Display", value: "2556 x 1179"
|
||||
},
|
||||
{
|
||||
id: "3", title: "48MP Main Camera", subtitle: "Professional-grade imaging", category: "Camera", value: "f/1.78 Aperture"
|
||||
},
|
||||
{
|
||||
id: "4", title: "Titanium Design", subtitle: "Premium aerospace-grade material", category: "Build", value: "Ceramic Shield"
|
||||
},
|
||||
{
|
||||
id: "5", title: "5G Connectivity", subtitle: "Ultra-fast wireless", category: "Network", value: "Sub-6 GHz & mmWave"
|
||||
},
|
||||
{
|
||||
id: "6", title: "Water Resistance", subtitle: "Protected against elements", category: "Durability", value: "IP68 Rating"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<TestimonialCardSixteen
|
||||
title="Loved by Customers Worldwide"
|
||||
description="Join millions who trust iPhone for their daily inspiration, creativity, and connection."
|
||||
tag="Customer Stories"
|
||||
tagIcon={Heart}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
animationType="slide-up"
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "Sarah Chen", role: "Photographer", company: "Creative Studio", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg", imageAlt: "Sarah Chen, professional photographer"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Marcus Johnson", role: "Tech Entrepreneur", company: "StartUp Hub", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/smiling-homosexual-man-official-suit-looking-camera-close-up-shot-happy-gay-getting-dressed-wedding-ceremony-standing-hotel-room-with-his-partner-background-love-emotion-concept_74855-22675.jpg", imageAlt: "Marcus Johnson, technology entrepreneur"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Elena Rodriguez", role: "Film Director", company: "Motion Pictures", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/close-up-competitive-employee_1098-2870.jpg", imageAlt: "Elena Rodriguez, professional filmmaker"
|
||||
}
|
||||
]}
|
||||
kpiItems={[
|
||||
{ value: "2B+", label: "Active Users Worldwide" },
|
||||
{ value: "98%", label: "Customer Satisfaction" },
|
||||
{ value: "17+", label: "Years of Innovation" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<FaqBase
|
||||
title="Frequently Asked Questions"
|
||||
description="Everything you need to know about iPhone. Find answers to common questions."
|
||||
tag="Help & Support"
|
||||
tagIcon={HelpCircle}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
animationType="smooth"
|
||||
faqs={[
|
||||
{
|
||||
id: "1", title: "What's included in the box?", content: "Each iPhone comes with a USB-C to USB-C cable. A power adapter is sold separately. You'll also find important safety information and regulatory details in the box."
|
||||
},
|
||||
{
|
||||
id: "2", title: "Is iPhone water resistant?", content: "Yes, iPhone 15 models have an IP68 rating, meaning they're water resistant up to 6 meters for up to 30 minutes. This protects against accidental spills, splashes, and brief submersion."
|
||||
},
|
||||
{
|
||||
id: "3", title: "How long does the battery last?", content: "iPhone 15 Pro Max offers up to 30 hours of video playback, 25 hours of video streaming, and 100 hours of audio playback. Battery life varies based on usage patterns and settings."
|
||||
},
|
||||
{
|
||||
id: "4", title: "Do I need AppleCare+?", content: "AppleCare+ provides accidental damage protection, priority support, and service coverage. While optional, it's recommended for peace of mind and extended coverage."
|
||||
},
|
||||
{
|
||||
id: "5", title: "Can I upgrade my iPhone?", content: "Yes, we offer trade-in programs for your existing iPhone. You'll receive credit toward a new purchase. Trade-in value depends on device condition and model."
|
||||
},
|
||||
{
|
||||
id: "6", title: "What payment options are available?", content: "We accept all major credit cards, Apple Pay, and financing options. You can also spread payments over 12 months with zero interest through eligible financing programs."
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactSplit
|
||||
tag="Stay Connected"
|
||||
title="Get the Latest Updates"
|
||||
description="Subscribe to receive product announcements, exclusive offers, and insights about the latest iPhone innovations."
|
||||
tagIcon={Mail}
|
||||
background={{ variant: "plain" }}
|
||||
useInvertedBackground="noInvert"
|
||||
imageSrc="https://img.b2bpic.net/free-photo/people-leisure-communication-concept_273609-55238.jpg"
|
||||
imageAlt="Person using iPhone with latest features"
|
||||
mediaPosition="right"
|
||||
inputPlaceholder="your@email.com"
|
||||
buttonText="Subscribe"
|
||||
termsText="We respect your privacy. Unsubscribe anytime. Check our privacy policy for details."
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterMedia
|
||||
imageSrc="https://img.b2bpic.net/free-photo/mockup-mobile-phone-screen_53876-63379.jpg"
|
||||
imageAlt="iPhone product lineup"
|
||||
logoText="iPhone"
|
||||
copyrightText="© 2025 Apple Inc. All rights reserved."
|
||||
columns={[
|
||||
{
|
||||
title: "Shop", items: [
|
||||
{ label: "iPhone Models", href: "#products" },
|
||||
{ label: "Compare", href: "#features" },
|
||||
{ label: "Specs", href: "#metrics" },
|
||||
{ label: "Trade In", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Support", items: [
|
||||
{ label: "Help & Support", href: "#faq" },
|
||||
{ label: "AppleCare+", href: "#" },
|
||||
{ label: "Contact Us", href: "#contact" },
|
||||
{ label: "Service Status", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Company", items: [
|
||||
{ label: "About", href: "#" },
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Careers", href: "#" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
107
src/app/shop/page.tsx
Normal file
107
src/app/shop/page.tsx
Normal file
@@ -0,0 +1,107 @@
|
||||
"use client"
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||
import ProductCardOne from '@/components/sections/product/ProductCardOne';
|
||||
import FooterMedia from '@/components/sections/footer/FooterMedia';
|
||||
|
||||
export default function ShopPage() {
|
||||
// Sample products data for iPhone-themed shop
|
||||
const products = [
|
||||
{
|
||||
id: "1", name: "iPhone 15 Pro", price: "$999", imageSrc: "https://images.unsplash.com/photo-1592750475338-74b7b21085ab?w=400&h=400&fit=crop&crop=center", imageAlt: "iPhone 15 Pro", onProductClick: () => console.log("Clicked iPhone 15 Pro")
|
||||
},
|
||||
{
|
||||
id: "2", name: "iPhone 15", price: "$799", imageSrc: "https://images.unsplash.com/photo-1556656793-08538906a9f8?w=400&h=400&fit=crop&crop=center", imageAlt: "iPhone 15", onProductClick: () => console.log("Clicked iPhone 15")
|
||||
},
|
||||
{
|
||||
id: "3", name: "iPhone 14 Pro Max", price: "$1099", imageSrc: "https://images.unsplash.com/photo-1574944985070-8f3ebc6b79d2?w=400&h=400&fit=crop&crop=center", imageAlt: "iPhone 14 Pro Max", onProductClick: () => console.log("Clicked iPhone 14 Pro Max")
|
||||
},
|
||||
{
|
||||
id: "4", name: "iPhone 14", price: "$699", imageSrc: "https://images.unsplash.com/photo-1511707171634-5f897ff02aa9?w=400&h=400&fit=crop&crop=center", imageAlt: "iPhone 14", onProductClick: () => console.log("Clicked iPhone 14")
|
||||
},
|
||||
{
|
||||
id: "5", name: "iPhone SE", price: "$429", imageSrc: "https://images.unsplash.com/photo-1580910051074-3eb694886505?w=400&h=400&fit=crop&crop=center", imageAlt: "iPhone SE", onProductClick: () => console.log("Clicked iPhone SE")
|
||||
},
|
||||
{
|
||||
id: "6", name: "iPhone 13 Pro", price: "$899", imageSrc: "https://images.unsplash.com/photo-1601784551446-20c9e07cdbdb?w=400&h=400&fit=crop&crop=center", imageAlt: "iPhone 13 Pro", onProductClick: () => console.log("Clicked iPhone 13 Pro")
|
||||
}
|
||||
];
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-bubble"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="soft"
|
||||
contentWidth="compact"
|
||||
sizing="largeSizeMediumTitles"
|
||||
background="circleGradient"
|
||||
cardStyle="outline"
|
||||
primaryButtonStyle="shadow"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<NavbarStyleApple
|
||||
brandName="iPhone"
|
||||
navItems={[
|
||||
{"name":"Home","id":"/"},
|
||||
{"name":"Shop","id":"/shop"}
|
||||
]}
|
||||
/>
|
||||
|
||||
<main className="min-h-screen">
|
||||
<ProductCardOne
|
||||
products={products}
|
||||
title="Shop iPhone"
|
||||
description="Discover the latest iPhone models with cutting-edge technology and innovative design features"
|
||||
tag="New Arrivals"
|
||||
textboxLayout="default"
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground="noInvert"
|
||||
buttons={[
|
||||
{
|
||||
text: "View All Models", href: "#products"
|
||||
},
|
||||
{
|
||||
text: "Compare Devices", href: "#features"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</main>
|
||||
|
||||
<FooterMedia
|
||||
imageSrc="https://images.unsplash.com/photo-1592750475338-74b7b21085ab?w=800&h=400&fit=crop&crop=center"
|
||||
imageAlt="iPhone product lineup"
|
||||
logoText="iPhone"
|
||||
copyrightText="© 2025 Apple Inc. All rights reserved."
|
||||
columns={[
|
||||
{
|
||||
"title":"Shop", "items":[
|
||||
{"label":"iPhone Models","href":"#products"},
|
||||
{"label":"Compare","href":"#features"},
|
||||
{"label":"Specs","href":"#metrics"},
|
||||
{"label":"Trade In","href":"#"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title":"Support", "items":[
|
||||
{"label":"Help & Support","href":"#faq"},
|
||||
{"label":"AppleCare+","href":"#"},
|
||||
{"label":"Contact Us","href":"#contact"},
|
||||
{"label":"Service Status","href":"#"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title":"Company", "items":[
|
||||
{"label":"About","href":"#"},
|
||||
{"label":"Privacy Policy","href":"#"},
|
||||
{"label":"Terms of Service","href":"#"},
|
||||
{"label":"Careers","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