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=722e6fc8-25df-41ec-91e1-92f7532e613d
|
||||
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"
|
||||
96
src/app/blog/page.tsx
Normal file
96
src/app/blog/page.tsx
Normal file
@@ -0,0 +1,96 @@
|
||||
"use client";
|
||||
|
||||
import ReactLenis from "lenis/react";
|
||||
import BlogCardOne from '@/components/sections/blog/BlogCardOne';
|
||||
import FooterSimple from '@/components/sections/footer/FooterSimple';
|
||||
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="hover-bubble"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="rounded"
|
||||
contentWidth="mediumSmall"
|
||||
sizing="medium"
|
||||
background="aurora"
|
||||
cardStyle="elevated"
|
||||
primaryButtonStyle="diagonal-gradient"
|
||||
secondaryButtonStyle="solid"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div className="min-h-screen bg-background">
|
||||
<NavbarStyleCentered
|
||||
brandName="iPhone Store"
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Products", id: "products" },
|
||||
{ name: "Features", id: "features" },
|
||||
{ name: "Pricing", id: "pricing" },
|
||||
{ name: "Reviews", id: "testimonials" },
|
||||
{ name: "Contact", id: "contact" }
|
||||
]}
|
||||
button={{ text: "Shop Now", href: "products" }}
|
||||
/>
|
||||
|
||||
{isLoading ? (
|
||||
<div className="w-content-width mx-auto py-20 text-center">
|
||||
<p className="text-foreground">Loading posts...</p>
|
||||
</div>
|
||||
) : (
|
||||
<BlogCardOne
|
||||
blogs={posts}
|
||||
title="Latest iPhone News & Tips"
|
||||
description="Stay updated with the latest iPhone insights, tips, and product updates from our team"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
animationType="slide-up"
|
||||
carouselMode="buttons"
|
||||
tag="Blog"
|
||||
/>
|
||||
)}
|
||||
|
||||
<FooterSimple
|
||||
columns={[
|
||||
{
|
||||
title: "Shop", items: [
|
||||
{ label: "iPhone Models", href: "#products" },
|
||||
{ label: "Accessories", href: "#" },
|
||||
{ label: "AppleCare+", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Support", items: [
|
||||
{ label: "Contact Us", href: "#contact" },
|
||||
{ label: "FAQ", href: "#contact" },
|
||||
{ label: "Warranty", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "#" },
|
||||
{ label: "Blog", href: "#" },
|
||||
{ label: "Careers", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Cookie Policy", href: "#" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
bottomLeftText="© 2025 iPhone Store. All rights reserved."
|
||||
bottomRightText="Made with excellence"
|
||||
/>
|
||||
</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
302
src/app/page.tsx
Normal file
302
src/app/page.tsx
Normal file
@@ -0,0 +1,302 @@
|
||||
"use client"
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import HeroSplitDualMedia from '@/components/sections/hero/HeroSplitDualMedia';
|
||||
import ProductCardOne from '@/components/sections/product/ProductCardOne';
|
||||
import FeatureCardTen from '@/components/sections/feature/FeatureCardTen';
|
||||
import PricingCardThree from '@/components/sections/pricing/PricingCardThree';
|
||||
import TestimonialCardThirteen from '@/components/sections/testimonial/TestimonialCardThirteen';
|
||||
import ContactFaq from '@/components/sections/contact/ContactFaq';
|
||||
import FooterSimple from '@/components/sections/footer/FooterSimple';
|
||||
import { Sparkles, ShoppingBag, Award, Camera, Zap, Film, Cpu, Wind, Battery, Sun, Shield, Droplets, CreditCard, Star, Heart, MessageCircle } from "lucide-react";
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-bubble"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="rounded"
|
||||
contentWidth="mediumSmall"
|
||||
sizing="medium"
|
||||
background="aurora"
|
||||
cardStyle="elevated"
|
||||
primaryButtonStyle="diagonal-gradient"
|
||||
secondaryButtonStyle="solid"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleCentered
|
||||
brandName="iPhone Store"
|
||||
navItems={[
|
||||
{ name: "Products", id: "products" },
|
||||
{ name: "Features", id: "features" },
|
||||
{ name: "Pricing", id: "pricing" },
|
||||
{ name: "Reviews", id: "testimonials" },
|
||||
{ name: "Contact", id: "contact" }
|
||||
]}
|
||||
button={{
|
||||
text: "Shop Now", href: "products"
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroSplitDualMedia
|
||||
title="Experience iPhone Innovation"
|
||||
description="Discover the latest iPhone models with cutting-edge technology, stunning cameras, and all-day battery life. Premium design meets powerful performance."
|
||||
tag="Latest Technology"
|
||||
tagIcon={Sparkles}
|
||||
background={{ variant: "plain" }}
|
||||
mediaItems={[
|
||||
{
|
||||
imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-17-pro-social-media-banner-design-template_47987-33087.jpg", imageAlt: "iPhone Pro main view"
|
||||
},
|
||||
{
|
||||
imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-17-pro-social-media-banner-design-template_47987-32600.jpg", imageAlt: "iPhone Pro side angle"
|
||||
}
|
||||
]}
|
||||
rating={5}
|
||||
ratingText="Trusted by millions worldwide"
|
||||
buttons={[
|
||||
{ text: "Explore Models", href: "products" },
|
||||
{ text: "Learn More", href: "features" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="products" data-section="products">
|
||||
<ProductCardOne
|
||||
title="Featured iPhone Models"
|
||||
description="Choose from our curated selection of premium iPhone devices with exceptional performance and design."
|
||||
tag="Shop Now"
|
||||
tagIcon={ShoppingBag}
|
||||
products={[
|
||||
{
|
||||
id: "iphone-pro-max", name: "iPhone Pro Max", price: "$1,199", imageSrc: "https://img.b2bpic.net/free-psd/smartphone-16-pro-discount-sale-banner-social-media-design-template_47987-25305.jpg", imageAlt: "iPhone Pro Max with premium display"
|
||||
},
|
||||
{
|
||||
id: "iphone-pro", name: "iPhone Pro", price: "$999", imageSrc: "https://img.b2bpic.net/free-photo/mockup-mobile-phone-screen_53876-63379.jpg", imageAlt: "iPhone Pro with advanced features"
|
||||
},
|
||||
{
|
||||
id: "iphone-plus", name: "iPhone Plus", price: "$799", imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-17-pro-social-media-banner-design-template_47987-33075.jpg", imageAlt: "iPhone Plus large screen"
|
||||
}
|
||||
]}
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="invertDefault"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<FeatureCardTen
|
||||
title="Why Choose iPhone"
|
||||
description="Industry-leading technology and innovation combined with timeless design and exceptional build quality."
|
||||
tag="Premium Features"
|
||||
tagIcon={Award}
|
||||
features={[
|
||||
{
|
||||
id: "1", title: "Advanced Camera System", description: "Capture stunning photos and videos with our pro-level camera system featuring advanced computational photography.", media: {
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/closeup-shot-black-camera-lens_181624-24125.jpg"
|
||||
},
|
||||
items: [
|
||||
{ icon: Camera, text: "Pro 48MP main camera" },
|
||||
{ icon: Zap, text: "Night mode photography" },
|
||||
{ icon: Film, text: "4K video recording" }
|
||||
],
|
||||
reverse: false
|
||||
},
|
||||
{
|
||||
id: "2", title: "Exceptional Performance", description: "Powered by the latest A-series chip for blazing-fast performance and efficient multitasking.", media: {
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/optical-lens-technology-background-purple-blue-gradient_53876-124678.jpg"
|
||||
},
|
||||
items: [
|
||||
{ icon: Zap, text: "Ultra-fast processor" },
|
||||
{ icon: Cpu, text: "6-core architecture" },
|
||||
{ icon: Wind, text: "Efficient power usage" }
|
||||
],
|
||||
reverse: true
|
||||
},
|
||||
{
|
||||
id: "3", title: "All-Day Battery Life", description: "Advanced battery technology keeps you powered through your busiest days with extended battery life.", media: {
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/still-life-shot-dslr-camera-lens_1401-329.jpg"
|
||||
},
|
||||
items: [
|
||||
{ icon: Battery, text: "Extended battery life" },
|
||||
{ icon: Zap, text: "Fast charging support" },
|
||||
{ icon: Sun, text: "Wireless charging" }
|
||||
],
|
||||
reverse: false
|
||||
},
|
||||
{
|
||||
id: "4", title: "Premium Design & Build", description: "Crafted from premium materials with precision engineering for a device that feels as good as it performs.", media: {
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/close-up-professional-camera-lens_23-2150720442.jpg"
|
||||
},
|
||||
items: [
|
||||
{ icon: Sparkles, text: "Aerospace-grade aluminum" },
|
||||
{ icon: Shield, text: "Ceramic Shield protection" },
|
||||
{ icon: Droplets, text: "Water resistant design" }
|
||||
],
|
||||
reverse: true
|
||||
}
|
||||
]}
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground="noInvert"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="pricing" data-section="pricing">
|
||||
<PricingCardThree
|
||||
title="Simple, Transparent Pricing"
|
||||
description="Choose the iPhone model that fits your needs and budget."
|
||||
tag="Pricing Plans"
|
||||
tagIcon={CreditCard}
|
||||
plans={[
|
||||
{
|
||||
id: "iphone-standard", price: "$799", name: "iPhone Standard", buttons: [
|
||||
{ text: "Buy Now", href: "#" },
|
||||
{ text: "Learn More", href: "#" }
|
||||
],
|
||||
features: [
|
||||
"6.1-inch display", "A-series chip", "Dual camera system", "All-day battery", "Water resistant"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "iphone-pro", badge: "Most Popular", badgeIcon: Star,
|
||||
price: "$999", name: "iPhone Pro", buttons: [
|
||||
{ text: "Buy Now", href: "#" },
|
||||
{ text: "Learn More", href: "#" }
|
||||
],
|
||||
features: [
|
||||
"6.1-inch ProMotion display", "A-series Pro chip", "Pro triple camera", "Night mode & cinematic", "ProRAW support"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "iphone-pro-max", price: "$1,199", name: "iPhone Pro Max", buttons: [
|
||||
{ text: "Buy Now", href: "#" },
|
||||
{ text: "Learn More", href: "#" }
|
||||
],
|
||||
features: [
|
||||
"6.7-inch largest display", "A-series Pro Max chip", "Advanced quad cameras", "Extended battery life", "Professional video tools"
|
||||
]
|
||||
}
|
||||
]}
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground="invertDefault"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<TestimonialCardThirteen
|
||||
title="Loved by Customers"
|
||||
description="See what iPhone users around the world have to say about their experience."
|
||||
tag="Customer Reviews"
|
||||
tagIcon={Heart}
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "Sarah Johnson", handle: "@sarahj", testimonial: "The iPhone Pro has completely transformed my photography game. The camera quality is simply outstanding and the night mode is incredible.", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Michael Chen", handle: "@mchen", testimonial: "Best phone I've ever owned. The performance is lightning fast and the battery life easily lasts a full day of heavy use.", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/happy-businessman-smiling-camera_1163-4660.jpg"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Emily Rodriguez", handle: "@emilyrod", testimonial: "The design is absolutely gorgeous and feels premium in hand. Worth every penny for the quality and durability.", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/portrait-smiley-business-man_23-2148514859.jpg"
|
||||
},
|
||||
{
|
||||
id: "4", name: "David Kim", handle: "@davidkim", testimonial: "Switched from Android and couldn't be happier. The ecosystem integration is seamless and everything just works.", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/happy-young-professional-posing-office_1262-21170.jpg"
|
||||
},
|
||||
{
|
||||
id: "5", name: "Jessica White", handle: "@jessw", testimonial: "The iPhone Pro Max screen is absolutely stunning. Perfect for watching videos and editing content on the go.", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/smiling-young-handsome-guy-wearing-green-shirt_141793-122624.jpg"
|
||||
},
|
||||
{
|
||||
id: "6", name: "Thomas Park", handle: "@tpark", testimonial: "Outstanding customer service and the build quality is exceptional. This phone has exceeded all my expectations.", rating: 5,
|
||||
imageSrc: "https://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg"
|
||||
}
|
||||
]}
|
||||
showRating={true}
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground="noInvert"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactFaq
|
||||
ctaTitle="Get in Touch"
|
||||
ctaDescription="Have questions about our iPhone models? Our team is here to help you find the perfect device."
|
||||
ctaIcon={MessageCircle}
|
||||
ctaButton={{
|
||||
text: "Contact Us", href: "#"
|
||||
}}
|
||||
faqs={[
|
||||
{
|
||||
id: "1", title: "What is the warranty coverage?", content: "All iPhone models come with a standard 1-year limited warranty covering hardware defects. AppleCare+ extends coverage to 2 years with accidental damage protection."
|
||||
},
|
||||
{
|
||||
id: "2", title: "Can I trade in my old iPhone?", content: "Yes! We offer competitive trade-in values for your existing device. Trade-in credit can be applied toward your new iPhone purchase."
|
||||
},
|
||||
{
|
||||
id: "3", title: "What payment options are available?", content: "We accept all major credit cards, digital payment options, and offer flexible financing plans through our partners for qualified buyers."
|
||||
},
|
||||
{
|
||||
id: "4", title: "How long does shipping take?", content: "Standard shipping typically takes 5-7 business days. Express shipping options are available for faster delivery to your location."
|
||||
},
|
||||
{
|
||||
id: "5", title: "Are the phones unlocked?", content: "All our iPhone models are unlocked and work with any carrier. You can activate with your preferred network immediately."
|
||||
},
|
||||
{
|
||||
id: "6", title: "What storage options are available?", content: "iPhones are available in multiple storage capacities: 128GB, 256GB, 512GB, and 1TB, depending on the model."
|
||||
}
|
||||
]}
|
||||
useInvertedBackground="invertDefault"
|
||||
animationType="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterSimple
|
||||
columns={[
|
||||
{
|
||||
title: "Shop", items: [
|
||||
{ label: "iPhone Models", href: "#products" },
|
||||
{ label: "Accessories", href: "#" },
|
||||
{ label: "AppleCare+", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Support", items: [
|
||||
{ label: "Contact Us", href: "#contact" },
|
||||
{ label: "FAQ", href: "#contact" },
|
||||
{ label: "Warranty", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "#" },
|
||||
{ label: "Blog", href: "#" },
|
||||
{ label: "Careers", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Cookie Policy", href: "#" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
bottomLeftText="© 2025 iPhone Store. All rights reserved."
|
||||
bottomRightText="Made with excellence"
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
123
src/app/shop/page.tsx
Normal file
123
src/app/shop/page.tsx
Normal file
@@ -0,0 +1,123 @@
|
||||
"use client";
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import ProductCardFour from '@/components/sections/product/ProductCardFour';
|
||||
import FooterSimple from '@/components/sections/footer/FooterSimple';
|
||||
import { ShoppingBag } from 'lucide-react';
|
||||
|
||||
export default function ShopPage() {
|
||||
const products = [
|
||||
{
|
||||
id: "1", name: "iPhone 15 Pro Max", price: "$1,199", variant: "Titanium Blue • 4 Colors", imageSrc: "/api/placeholder/400/300", imageAlt: "iPhone 15 Pro Max in Titanium Blue", isFavorited: false,
|
||||
onFavorite: () => console.log('favorited iPhone 15 Pro Max'),
|
||||
onProductClick: () => window.open('/product/iphone-15-pro-max', '_blank')
|
||||
},
|
||||
{
|
||||
id: "2", name: "iPhone 15 Pro", price: "$999", variant: "Natural Titanium • 4 Colors", imageSrc: "/api/placeholder/400/300", imageAlt: "iPhone 15 Pro in Natural Titanium", isFavorited: false,
|
||||
onFavorite: () => console.log('favorited iPhone 15 Pro'),
|
||||
onProductClick: () => window.open('/product/iphone-15-pro', '_blank')
|
||||
},
|
||||
{
|
||||
id: "3", name: "iPhone 15", price: "$799", variant: "Pink • 5 Colors", imageSrc: "/api/placeholder/400/300", imageAlt: "iPhone 15 in Pink", isFavorited: false,
|
||||
onFavorite: () => console.log('favorited iPhone 15'),
|
||||
onProductClick: () => window.open('/product/iphone-15', '_blank')
|
||||
},
|
||||
{
|
||||
id: "4", name: "iPhone 14", price: "$699", variant: "Midnight • 6 Colors", imageSrc: "/api/placeholder/400/300", imageAlt: "iPhone 14 in Midnight", isFavorited: false,
|
||||
onFavorite: () => console.log('favorited iPhone 14'),
|
||||
onProductClick: () => window.open('/product/iphone-14', '_blank')
|
||||
},
|
||||
{
|
||||
id: "5", name: "iPhone SE", price: "$429", variant: "Starlight • 3 Colors", imageSrc: "/api/placeholder/400/300", imageAlt: "iPhone SE in Starlight", isFavorited: false,
|
||||
onFavorite: () => console.log('favorited iPhone SE'),
|
||||
onProductClick: () => window.open('/product/iphone-se', '_blank')
|
||||
},
|
||||
{
|
||||
id: "6", name: "MagSafe Charger", price: "$39", variant: "White • Wireless Charging", imageSrc: "/api/placeholder/400/300", imageAlt: "MagSafe Charger in White", isFavorited: false,
|
||||
onFavorite: () => console.log('favorited MagSafe Charger'),
|
||||
onProductClick: () => window.open('/product/magsafe-charger', '_blank')
|
||||
}
|
||||
];
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-bubble"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="rounded"
|
||||
contentWidth="mediumSmall"
|
||||
sizing="medium"
|
||||
background="aurora"
|
||||
cardStyle="elevated"
|
||||
primaryButtonStyle="diagonal-gradient"
|
||||
secondaryButtonStyle="solid"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<NavbarStyleCentered
|
||||
brandName="iPhone Store"
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Shop", id: "/shop" }
|
||||
]}
|
||||
button={{
|
||||
text: "Shop Now", href: "products"
|
||||
}}
|
||||
/>
|
||||
|
||||
<ProductCardFour
|
||||
products={products}
|
||||
title="iPhone Collection"
|
||||
description="Discover our complete range of iPhones and accessories with the latest technology and premium design"
|
||||
tag="Latest Models"
|
||||
tagIcon={ShoppingBag}
|
||||
textboxLayout="default"
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground="noInvert"
|
||||
buttons={[
|
||||
{
|
||||
text: "View All Products", href: "#products"
|
||||
},
|
||||
{
|
||||
text: "Contact Sales", href: "/contact"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
|
||||
<FooterSimple
|
||||
columns={[
|
||||
{
|
||||
title: "Shop", items: [
|
||||
{ label: "iPhone Models", href: "#products" },
|
||||
{ label: "Accessories", href: "#" },
|
||||
{ label: "AppleCare+", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Support", items: [
|
||||
{ label: "Contact Us", href: "#contact" },
|
||||
{ label: "FAQ", href: "#contact" },
|
||||
{ label: "Warranty", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "#" },
|
||||
{ label: "Blog", href: "#" },
|
||||
{ label: "Careers", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy Policy", href: "#" },
|
||||
{ label: "Terms of Service", href: "#" },
|
||||
{ label: "Cookie Policy", href: "#" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
bottomLeftText="© 2025 iPhone Store. All rights reserved."
|
||||
bottomRightText="Made with excellence"
|
||||
/>
|
||||
</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