Initial commit
This commit is contained in:
2
.env
Normal file
2
.env
Normal file
@@ -0,0 +1,2 @@
|
||||
NEXT_PUBLIC_API_URL=undefined
|
||||
NEXT_PUBLIC_PROJECT_ID=43ff307b-6556-436d-8fe1-81c91c1235c4
|
||||
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"
|
||||
106
src/app/blog/page.tsx
Normal file
106
src/app/blog/page.tsx
Normal file
@@ -0,0 +1,106 @@
|
||||
"use client";
|
||||
|
||||
import ReactLenis from "lenis/react";
|
||||
import BlogCardOne from '@/components/sections/blog/BlogCardOne';
|
||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
|
||||
import { useBlogPosts } from "@/hooks/useBlogPosts";
|
||||
|
||||
export default function BlogPage() {
|
||||
const { posts, isLoading } = useBlogPosts();
|
||||
|
||||
const handlePrivacy = () => {
|
||||
console.log("Privacy clicked");
|
||||
};
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="text-shift"
|
||||
defaultTextAnimation="reveal-blur"
|
||||
borderRadius="pill"
|
||||
contentWidth="smallMedium"
|
||||
sizing="mediumLarge"
|
||||
background="none"
|
||||
cardStyle="solid"
|
||||
primaryButtonStyle="gradient"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="extrabold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div className="min-h-screen bg-background">
|
||||
<NavbarStyleFullscreen
|
||||
brandName="iPhone"
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Products", id: "products" },
|
||||
{ name: "Features", id: "features" },
|
||||
{ name: "Pricing", id: "pricing" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
{ name: "Support", id: "support" }
|
||||
]}
|
||||
bottomLeftText="Premium Devices"
|
||||
bottomRightText="shop@iphone.com"
|
||||
/>
|
||||
|
||||
{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 Insights"
|
||||
description="Discover the latest updates, features, and innovations from the world of iPhone technology"
|
||||
tag="Blog"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
carouselMode="buttons"
|
||||
animationType="slide-up"
|
||||
buttons={[
|
||||
{ text: "View All Posts", href: "#all-posts" },
|
||||
{ text: "Subscribe", href: "#subscribe" }
|
||||
]}
|
||||
/>
|
||||
)}
|
||||
|
||||
<FooterBaseCard
|
||||
logoText="iPhone"
|
||||
columns={[
|
||||
{
|
||||
title: "Products", items: [
|
||||
{ label: "iPhone Pro Max", href: "#products" },
|
||||
{ label: "iPhone Pro", href: "#products" },
|
||||
{ label: "iPhone Standard", href: "#products" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Support", items: [
|
||||
{ label: "Help & Support", href: "#support" },
|
||||
{ label: "Warranty", href: "#warranty" },
|
||||
{ label: "Returns", href: "#returns" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "#about" },
|
||||
{ label: "Blog", href: "#blog" },
|
||||
{ label: "Careers", href: "#careers" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Connect", items: [
|
||||
{ label: "Contact Us", href: "#contact" },
|
||||
{ label: "Newsletter", href: "#newsletter" },
|
||||
{ label: "Community", href: "#community" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
copyrightText="© 2025 iPhone. All rights reserved."
|
||||
onPrivacyClick={handlePrivacy}
|
||||
/>
|
||||
</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";
|
||||
1264
src/app/layout.tsx
Normal file
1264
src/app/layout.tsx
Normal file
File diff suppressed because it is too large
Load Diff
297
src/app/page.tsx
Normal file
297
src/app/page.tsx
Normal file
@@ -0,0 +1,297 @@
|
||||
"use client"
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
|
||||
import HeroBillboardRotatedCarousel from '@/components/sections/hero/HeroBillboardRotatedCarousel';
|
||||
import ProductCardThree from '@/components/sections/product/ProductCardThree';
|
||||
import FeatureCardTwentySix from '@/components/sections/feature/FeatureCardTwentySix';
|
||||
import PricingCardEight from '@/components/sections/pricing/PricingCardEight';
|
||||
import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
|
||||
import MetricCardSeven from '@/components/sections/metrics/MetricCardSeven';
|
||||
import FaqDouble from '@/components/sections/faq/FaqDouble';
|
||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||
import { Sparkles, ArrowRight, Star, Crown } from "lucide-react";
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="text-shift"
|
||||
defaultTextAnimation="reveal-blur"
|
||||
borderRadius="pill"
|
||||
contentWidth="smallMedium"
|
||||
sizing="mediumLarge"
|
||||
background="none"
|
||||
cardStyle="solid"
|
||||
primaryButtonStyle="gradient"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="extrabold"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleFullscreen
|
||||
brandName="iPhone"
|
||||
navItems={[
|
||||
{ name: "Products", id: "products" },
|
||||
{ name: "Features", id: "features" },
|
||||
{ name: "Pricing", id: "pricing" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
{ name: "Support", id: "support" }
|
||||
]}
|
||||
bottomLeftText="Premium Devices"
|
||||
bottomRightText="shop@iphone.com"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroBillboardRotatedCarousel
|
||||
title="Innovation in Every Touch"
|
||||
description="Experience the pinnacle of mobile technology. Discover the future of smartphones with cutting-edge features designed to elevate your digital life."
|
||||
tag="Latest Release"
|
||||
tagIcon={Sparkles}
|
||||
background={{ variant: "plain" }}
|
||||
buttons={[
|
||||
{ text: "Shop Now", href: "#products" },
|
||||
{ text: "Learn More", href: "#features" }
|
||||
]}
|
||||
carouselItems={[
|
||||
{
|
||||
id: "1", imageSrc: "https://img.b2bpic.net/free-photo/busy-cheerful-man-just-got-very-good-message-by-his-smartphone_613910-20877.jpg", imageAlt: "iPhone front view"
|
||||
},
|
||||
{
|
||||
id: "2", imageSrc: "https://img.b2bpic.net/free-photo/smartphone-laptop-side-view_1057-4326.jpg", imageAlt: "iPhone side perspective"
|
||||
},
|
||||
{
|
||||
id: "3", imageSrc: "https://img.b2bpic.net/free-photo/still-life-tech-device_23-2150722646.jpg", imageAlt: "iPhone back design"
|
||||
},
|
||||
{
|
||||
id: "4", imageSrc: "https://img.b2bpic.net/free-photo/mobile-phone-pen_23-2147978224.jpg", imageAlt: "iPhone camera system"
|
||||
},
|
||||
{
|
||||
id: "5", imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-a18-bionic-social-media-banner-design-template_47987-33085.jpg", imageAlt: "iPhone display technology"
|
||||
},
|
||||
{
|
||||
id: "6", imageSrc: "https://img.b2bpic.net/free-photo/still-life-tech-device_23-2150722640.jpg", imageAlt: "iPhone in hand"
|
||||
}
|
||||
]}
|
||||
autoPlay={true}
|
||||
autoPlayInterval={4000}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="products" data-section="products">
|
||||
<ProductCardThree
|
||||
title="Choose Your iPhone"
|
||||
description="Select from our premium lineup of iPhones, each engineered for excellence and designed to inspire."
|
||||
products={[
|
||||
{
|
||||
id: "1", name: "iPhone Pro Max", price: "$1,199", imageSrc: "https://img.b2bpic.net/free-photo/still-life-tech-device_23-2150722629.jpg", imageAlt: "iPhone Pro Max premium model", initialQuantity: 1
|
||||
},
|
||||
{
|
||||
id: "2", name: "iPhone Pro", price: "$999", imageSrc: "https://img.b2bpic.net/free-photo/smartphone-lying-laptop_1057-4320.jpg", imageAlt: "iPhone Pro advanced features", initialQuantity: 1
|
||||
},
|
||||
{
|
||||
id: "3", name: "iPhone Standard", price: "$799", imageSrc: "https://img.b2bpic.net/free-photo/high-angle-smartphone-wooden-board_23-2149554988.jpg", imageAlt: "iPhone standard bestseller", initialQuantity: 1
|
||||
}
|
||||
]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="invertDefault"
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
animationType="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<FeatureCardTwentySix
|
||||
title="Revolutionary Features"
|
||||
description="Discover what makes iPhone the world's most loved smartphone. Every detail engineered for perfection."
|
||||
features={[
|
||||
{
|
||||
title: "Exceptional Camera System", description: "Capture stunning photos and cinematic videos with advanced computational photography and professional-grade controls.", imageSrc: "https://img.b2bpic.net/free-photo/closeup-shot-black-camera-lens_181624-24125.jpg", imageAlt: "Advanced camera technology", buttonIcon: ArrowRight,
|
||||
buttonHref: "#camera"
|
||||
},
|
||||
{
|
||||
title: "All-Day Battery Life", description: "Power through your day with intelligent battery technology that learns your usage patterns and optimizes performance.", imageSrc: "https://img.b2bpic.net/free-photo/optical-lens-technology-background-purple-blue-gradient_53876-124678.jpg", imageAlt: "Extended battery performance", buttonIcon: ArrowRight,
|
||||
buttonHref: "#battery"
|
||||
},
|
||||
{
|
||||
title: "Lightning-Fast Performance", description: "Experience seamless multitasking with the fastest chip in any smartphone, delivering desktop-class computing power.", imageSrc: "https://img.b2bpic.net/free-photo/still-life-shot-dslr-camera-lens_1401-329.jpg", imageAlt: "High-performance processor", buttonIcon: ArrowRight,
|
||||
buttonHref: "#performance"
|
||||
},
|
||||
{
|
||||
title: "Stunning Retina Display", description: "Immerse yourself in vibrant colors and incredible detail with our advanced Super Retina XDR display technology.", imageSrc: "https://img.b2bpic.net/free-photo/close-up-professional-camera-lens_23-2150720442.jpg", imageAlt: "Premium display quality", buttonIcon: ArrowRight,
|
||||
buttonHref: "#display"
|
||||
}
|
||||
]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="pricing" data-section="pricing">
|
||||
<PricingCardEight
|
||||
title="Flexible Pricing Plans"
|
||||
description="Choose the perfect plan tailored to your needs. All plans include premium support and warranty coverage."
|
||||
plans={[
|
||||
{
|
||||
id: "basic", badge: "Popular", badgeIcon: Sparkles,
|
||||
price: "$799", subtitle: "Perfect for everyday users", buttons: [
|
||||
{ text: "Get Started", href: "#contact" }
|
||||
],
|
||||
features: [
|
||||
"128GB Storage", "6-month warranty", "Standard support", "Water resistance", "5G connectivity"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "pro", badge: "Best Value", badgeIcon: Star,
|
||||
price: "$999", subtitle: "Ideal for professionals", buttons: [
|
||||
{ text: "Choose Plan", href: "#contact" }
|
||||
],
|
||||
features: [
|
||||
"256GB Storage", "1-year warranty", "Priority support", "Advanced water resistance", "5G Pro connectivity", "Enhanced security"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "premium", badge: "Premium", badgeIcon: Crown,
|
||||
price: "$1,199", subtitle: "Maximum power and performance", buttons: [
|
||||
{ text: "Upgrade Now", href: "#contact" }
|
||||
],
|
||||
features: [
|
||||
"512GB Storage", "2-year warranty", "24/7 concierge support", "Military-grade protection", "5G Pro Max", "Exclusive accessories"
|
||||
]
|
||||
}
|
||||
]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="invertDefault"
|
||||
animationType="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<TestimonialCardTen
|
||||
title="Loved by Millions Worldwide"
|
||||
description="See what our customers have to say about their iPhone experience and how it transformed their daily lives."
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", title: "The Perfect Daily Companion", quote: "This iPhone has completely transformed how I work and stay connected. The camera quality is absolutely phenomenal, and the battery life keeps up with my busiest days.", name: "Sarah Mitchell", role: "Creative Director", imageSrc: "https://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg", imageAlt: "Sarah Mitchell professional headshot"
|
||||
},
|
||||
{
|
||||
id: "2", title: "Outstanding Photography", quote: "As a professional photographer, I'm amazed at what I can achieve with the computational photography. The low-light performance is restaurant industry-leading.", name: "Michael Chen", role: "Photographer", 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: "Michael Chen professional headshot"
|
||||
},
|
||||
{
|
||||
id: "3", title: "Seamless Integration", quote: "The ecosystem integration across all my Apple devices is seamless. Everything just works together effortlessly, saving me hours every week.", name: "Emma Rodriguez", role: "Software Engineer", imageSrc: "https://img.b2bpic.net/free-photo/close-up-competitive-employee_1098-2870.jpg", imageAlt: "Emma Rodriguez professional headshot"
|
||||
},
|
||||
{
|
||||
id: "4", title: "Excellence in Every Detail", quote: "From the sleek design to the powerful performance, every aspect of this iPhone reflects Apple's commitment to excellence and user experience.", name: "James Park", role: "Business Executive", imageSrc: "https://img.b2bpic.net/free-photo/closeup-handsome-middle-aged-business-leader_1262-4822.jpg", imageAlt: "James Park professional headshot"
|
||||
},
|
||||
{
|
||||
id: "5", title: "Incredible Value", quote: "Best investment I've made in mobile technology. The features, build quality, and long-term support make it worth every penny.", name: "Lisa Thompson", role: "Entrepreneur", imageSrc: "https://img.b2bpic.net/free-photo/happy-young-professional-posing-office_1262-21170.jpg", imageAlt: "Lisa Thompson professional headshot"
|
||||
},
|
||||
{
|
||||
id: "6", title: "Future-Proof Technology", quote: "The performance and capabilities are truly ahead of the curve. This phone will remain relevant and powerful for years to come.", name: "David Kumar", role: "Tech Enthusiast", imageSrc: "https://img.b2bpic.net/free-photo/positive-middle-aged-business-leader-window_1262-5388.jpg", imageAlt: "David Kumar professional headshot"
|
||||
}
|
||||
]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<MetricCardSeven
|
||||
title="Why Choose iPhone"
|
||||
description="Join millions of satisfied customers who trust iPhone for superior quality, innovation, and reliability."
|
||||
metrics={[
|
||||
{
|
||||
id: "1", value: "2B+", title: "Active Devices Worldwide", items: [
|
||||
"Largest ecosystem", "Global support network", "Continuous innovation"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "2", value: "98%", title: "Customer Satisfaction Rate", items: [
|
||||
"Highest in industry", "Best user experience", "Loyal community"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "3", value: "10Y", title: "Average Device Lifespan", items: [
|
||||
"Industry-leading longevity", "Regular software updates", "Reliable performance"
|
||||
]
|
||||
},
|
||||
{
|
||||
id: "4", value: "#1", title: "Ranked in Customer Loyalty", items: [
|
||||
"Brand trust leader", "Highest retention rate", "Premium positioning"
|
||||
]
|
||||
}
|
||||
]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="invertDefault"
|
||||
animationType="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<FaqDouble
|
||||
title="Frequently Asked Questions"
|
||||
description="Find answers to common questions about our iPhone products, features, warranty, and support."
|
||||
faqs={[
|
||||
{
|
||||
id: "1", title: "What's the warranty coverage?", content: "All iPhones come with a standard 1-year limited warranty covering manufacturing defects. AppleCare+ extends coverage to 2 years with accidental damage protection."
|
||||
},
|
||||
{
|
||||
id: "2", title: "Is the phone water resistant?", content: "Yes, all current iPhone models feature water resistance. They are rated IP68 or IP67, meaning they can withstand submersion in water up to specific depths and durations."
|
||||
},
|
||||
{
|
||||
id: "3", title: "How long does the battery last?", content: "Battery life varies by model, but most iPhones provide 15-29 hours of mixed usage. Actual battery life depends on your usage patterns and settings."
|
||||
},
|
||||
{
|
||||
id: "4", title: "Can I upgrade my storage?", content: "Storage is fixed at purchase and cannot be upgraded. Choose from 128GB, 256GB, or 512GB depending on your model and needs."
|
||||
},
|
||||
{
|
||||
id: "5", title: "What payment options are available?", content: "We accept all major credit cards, Apple Pay, and offer flexible financing options through our partner programs with zero interest available."
|
||||
},
|
||||
{
|
||||
id: "6", title: "How do I set up my new iPhone?", content: "Setup is simple with guided instructions. You can transfer data from your previous device, restore from iCloud backup, or start fresh. We provide in-store setup assistance."
|
||||
}
|
||||
]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground="noInvert"
|
||||
animationType="smooth"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterBaseCard
|
||||
logoText="iPhone"
|
||||
columns={[
|
||||
{
|
||||
title: "Products", items: [
|
||||
{ label: "iPhone Pro Max", href: "#products" },
|
||||
{ label: "iPhone Pro", href: "#products" },
|
||||
{ label: "iPhone Standard", href: "#products" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Support", items: [
|
||||
{ label: "Help & Support", href: "#support" },
|
||||
{ label: "Warranty", href: "#warranty" },
|
||||
{ label: "Returns", href: "#returns" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Company", items: [
|
||||
{ label: "About Us", href: "#about" },
|
||||
{ label: "Blog", href: "#blog" },
|
||||
{ label: "Careers", href: "#careers" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Connect", items: [
|
||||
{ label: "Contact Us", href: "#contact" },
|
||||
{ label: "Newsletter", href: "#newsletter" },
|
||||
{ label: "Community", href: "#community" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
copyrightText="© 2025 iPhone. All rights reserved."
|
||||
/>
|
||||
</div>
|
||||
</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