Initial commit

This commit is contained in:
2026-02-05 15:45:35 +02:00
commit ea8e07adf2
7 changed files with 1647 additions and 0 deletions

2
.env Normal file
View File

@@ -0,0 +1,2 @@
NEXT_PUBLIC_API_URL=undefined
NEXT_PUBLIC_PROJECT_ID=ced0cfb6-4b4f-45f5-ae70-aff0d5820400

View 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
View File

@@ -0,0 +1,92 @@
"use client";
import ReactLenis from "lenis/react";
import BlogCardThree from '@/components/sections/blog/BlogCardThree';
import FooterMedia from '@/components/sections/footer/FooterMedia';
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import { useBlogPosts } from "@/hooks/useBlogPosts";
export default function BlogPage() {
const { posts, isLoading } = useBlogPosts();
return (
<ThemeProvider
defaultButtonVariant="icon-arrow"
defaultTextAnimation="background-highlight"
borderRadius="rounded"
contentWidth="medium"
sizing="mediumLargeSizeMediumTitles"
background="circleGradient"
cardStyle="layered-gradient"
primaryButtonStyle="shadow"
secondaryButtonStyle="glass"
headingFontWeight="extrabold"
>
<ReactLenis root>
<div className="min-h-screen bg-background">
<NavbarLayoutFloatingOverlay
brandName="iPhone"
navItems={[
{ name: "Home", id: "/" },
{ name: "Models", id: "products" },
{ name: "Features", id: "features" },
{ name: "Tech Specs", id: "specs" },
{ 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>
) : (
<BlogCardThree
blogs={posts}
title="Featured iPhone Insights"
description="Discover the latest technology insights and iPhone developments"
tag="Tech Blog"
textboxLayout="default"
useInvertedBackground="noInvert"
carouselMode="buttons"
animationType="slide-up"
uniformGridCustomHeightClasses="min-h-[600px]"
/>
)}
<FooterMedia
imageSrc="https://img.b2bpic.net/free-psd/new-smartphone-17-pro-social-media-story-design-template_47987-33775.jpg"
imageAlt="iPhone premium product showcase"
logoText="iPhone"
copyrightText="© 2025 iPhone. All rights reserved."
columns={[
{
title: "Shop", items: [
{ label: "iPhone Models", href: "products" },
{ label: "Compare", href: "specs" },
{ label: "Pricing", href: "#" }
]
},
{
title: "Support", items: [
{ label: "Technical Support", href: "#" },
{ label: "Warranty", href: "#" },
{ label: "Returns", href: "#" }
]
},
{
title: "Company", items: [
{ label: "About Us", href: "#" },
{ label: "Contact", href: "contact" },
{ label: "Privacy Policy", href: "#" }
]
}
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

5
src/app/globals.css Normal file
View File

@@ -0,0 +1,5 @@
@import "tailwindcss";
@import "./styles/variables.css";
@import "./styles/theme.css";
@import "./styles/utilities.css";
@import "./styles/base.css";

1268
src/app/layout.tsx Normal file

File diff suppressed because it is too large Load Diff

218
src/app/page.tsx Normal file
View File

@@ -0,0 +1,218 @@
"use client"
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
import ProductCardThree from '@/components/sections/product/ProductCardThree';
import FeatureCardSix from '@/components/sections/feature/FeatureCardSix';
import MetricCardEleven from '@/components/sections/metrics/MetricCardEleven';
import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen';
import ContactSplit from '@/components/sections/contact/ContactSplit';
import FooterMedia from '@/components/sections/footer/FooterMedia';
export default function LandingPage() {
return (
<ThemeProvider
defaultButtonVariant="icon-arrow"
defaultTextAnimation="background-highlight"
borderRadius="rounded"
contentWidth="medium"
sizing="mediumLargeSizeMediumTitles"
background="circleGradient"
cardStyle="layered-gradient"
primaryButtonStyle="shadow"
secondaryButtonStyle="glass"
headingFontWeight="extrabold"
>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
brandName="iPhone"
navItems={[
{ name: "Models", id: "products" },
{ name: "Features", id: "features" },
{ name: "Tech Specs", id: "specs" },
{ name: "Reviews", id: "testimonials" },
{ name: "Contact", id: "contact" }
]}
button={{
text: "Shop Now", href: "#products"
}}
/>
</div>
<div id="hero" data-section="hero">
<HeroBillboardCarousel
title="The Future of Innovation"
description="Experience cutting-edge technology with the latest iPhone. Precision engineering meets stunning design."
background={{ variant: "plain" }}
tag="Latest Release"
buttons={[
{ text: "Explore Models", href: "products" },
{ text: "Learn More", href: "features" }
]}
mediaItems={[
{ imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-17-pro-social-media-story-design-template_47987-33775.jpg", imageAlt: "iPhone Pro Max latest model" },
{ imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-17-pro-social-media-banner-design-template_47987-33087.jpg", imageAlt: "iPhone display and screen technology" },
{ imageSrc: "https://img.b2bpic.net/free-photo/people-holding-colorful-smartphones_23-2151969201.jpg", imageAlt: "iPhone advanced camera system" },
{ imageSrc: "https://img.b2bpic.net/free-psd/smartphone-16-pro-discount-sale-banner-social-media-design-template_47987-25305.jpg", imageAlt: "iPhone premium design and materials" },
{ imageSrc: "https://img.b2bpic.net/free-photo/smartphone-nature-concept_23-2150246099.jpg", imageAlt: "iPhone elegant product showcase" }
]}
/>
</div>
<div id="products" data-section="products">
<ProductCardThree
title="iPhone Models"
description="Choose from our premium selection of iPhone models tailored to your needs."
tag="Shop"
textboxLayout="default"
useInvertedBackground="invertDefault"
animationType="slide-up"
gridVariant="three-columns-all-equal-width"
products={[
{
id: "iphone-pro", name: "iPhone Pro", price: "$999", imageSrc: "https://img.b2bpic.net/free-photo/low-angle-man-using-smartphone-outdoors_23-2150747684.jpg", imageAlt: "iPhone Pro premium model", initialQuantity: 1
},
{
id: "iphone-standard", name: "iPhone", price: "$799", imageSrc: "https://img.b2bpic.net/free-photo/two-people-holding-smartphones-looking-camera_23-2151969203.jpg", imageAlt: "iPhone standard model", initialQuantity: 1
},
{
id: "iphone-mini", name: "iPhone Mini", price: "$699", imageSrc: "https://img.b2bpic.net/free-photo/smartphone-nature-concept_23-2150246096.jpg", imageAlt: "iPhone Mini compact model", initialQuantity: 1
}
]}
/>
</div>
<div id="features" data-section="features">
<FeatureCardSix
title="Advanced Features"
description="Discover what makes iPhone the most advanced smartphone in the world."
tag="Technology"
textboxLayout="default"
useInvertedBackground="noInvert"
features={[
{
id: 1,
title: "Pro Camera System", description: "Advanced dual-camera system with computational photography and professional-grade video capture. Capture every moment with incredible detail and clarity.", imageSrc: "https://img.b2bpic.net/free-photo/woman-taking-photo-two-croissants_23-2149277917.jpg", imageAlt: "iPhone camera system feature"
},
{
id: 2,
title: "Lightning-Fast Performance", description: "Powered by the latest A-series chip with breakthrough performance and machine learning capabilities. Experience seamless multitasking and gaming.", imageSrc: "https://img.b2bpic.net/free-photo/portrait-woman-using-smartphone-with-pop-socket-outdoors_23-2150168486.jpg", imageAlt: "iPhone performance and processor"
},
{
id: 3,
title: "Premium Design", description: "Crafted from aerospace-grade aluminum and precision-milled glass. Elegant minimalism meets durability with water and dust resistance.", imageSrc: "https://img.b2bpic.net/free-vector/smartphone-template-with-camera-interface_1361-1529.jpg", imageAlt: "iPhone premium design and materials"
}
]}
/>
</div>
<div id="specs" data-section="specs">
<MetricCardEleven
title="By The Numbers"
description="Industry-leading specifications and performance metrics that set iPhone apart."
tag="Specs"
textboxLayout="default"
useInvertedBackground="invertDefault"
animationType="slide-up"
metrics={[
{
id: "1", value: "6.7\"", title: "Super Retina Display", description: "ProMotion 120Hz for smooth scrolling", imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-17-pro-social-media-banner-design-template_47987-33087.jpg", imageAlt: "iPhone display specifications"
},
{
id: "2", value: "48MP", title: "Main Camera", description: "Ultra-high resolution imaging with AI processing", imageSrc: "https://img.b2bpic.net/free-photo/people-holding-colorful-smartphones_23-2151969201.jpg", imageAlt: "iPhone camera megapixels"
},
{
id: "3", value: "All Day", title: "Battery Life", description: "Exceptional longevity with smart power management", imageSrc: "https://img.b2bpic.net/free-psd/smartphone-16-pro-discount-sale-banner-social-media-design-template_47987-25305.jpg", imageAlt: "iPhone battery performance"
},
{
id: "4", value: "10 Gbps", title: "Data Transfer", description: "Ultra-fast connectivity for seamless workflows", imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-17-pro-social-media-story-design-template_47987-33775.jpg", imageAlt: "iPhone connectivity speed"
}
]}
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardSixteen
title="What Customers Love"
description="Read authentic reviews from iPhone users who've experienced our premium smartphones."
tag="Reviews"
textboxLayout="default"
useInvertedBackground="noInvert"
animationType="slide-up"
testimonials={[
{
id: "1", name: "Sarah Chen", role: "Photographer", company: "Creative Studios", rating: 5,
imageSrc: "https://img.b2bpic.net/free-photo/front-view-business-woman-suit_23-2148603018.jpg", imageAlt: "Sarah Chen customer portrait"
},
{
id: "2", name: "Marcus Johnson", role: "Tech Entrepreneur", company: "Innovation Labs", rating: 5,
imageSrc: "https://img.b2bpic.net/free-photo/close-up-portrait-young-bearded-man-white-shirt-jacket-posing-camera-with-broad-smile-isolated-gray_171337-629.jpg", imageAlt: "Marcus Johnson customer portrait"
},
{
id: "3", name: "Emma Rodriguez", role: "Content Creator", company: "Media Productions", rating: 5,
imageSrc: "https://img.b2bpic.net/free-photo/closeup-young-female-professional-making-eye-contact-against-colored-background_662251-651.jpg", imageAlt: "Emma Rodriguez customer portrait"
},
{
id: "4", name: "David Williams", role: "Business Executive", company: "Tech Ventures", rating: 5,
imageSrc: "https://img.b2bpic.net/free-photo/portrait-smiley-woman_23-2148827181.jpg", imageAlt: "David Williams customer portrait"
}
]}
kpiItems={[
{ value: "98%", label: "Customer Satisfaction" },
{ value: "50M+", label: "Active Users" },
{ value: "15+", label: "Years of Innovation" }
]}
/>
</div>
<div id="contact" data-section="contact">
<ContactSplit
tag="Newsletter"
title="Stay Updated"
description="Subscribe to our newsletter for exclusive offers, product launches, and iPhone tips."
background={{ variant: "plain" }}
useInvertedBackground="invertDefault"
imageSrc="https://img.b2bpic.net/free-photo/blond-woman-texting-her-phone_53876-20860.jpg"
imageAlt="iPhone technology workspace"
mediaPosition="right"
inputPlaceholder="Enter your email"
buttonText="Subscribe"
termsText="We respect your privacy. Unsubscribe at any time from any newsletter."
/>
</div>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="https://img.b2bpic.net/free-psd/new-smartphone-17-pro-social-media-story-design-template_47987-33775.jpg"
imageAlt="iPhone premium product showcase"
logoText="iPhone"
copyrightText="© 2025 iPhone. All rights reserved."
columns={[
{
title: "Shop", items: [
{ label: "iPhone Models", href: "products" },
{ label: "Compare", href: "specs" },
{ label: "Pricing", href: "#" }
]
},
{
title: "Support", items: [
{ label: "Technical Support", href: "#" },
{ label: "Warranty", href: "#" },
{ label: "Returns", href: "#" }
]
},
{
title: "Company", items: [
{ label: "About Us", href: "#" },
{ label: "Contact", href: "contact" },
{ label: "Privacy Policy", href: "#" }
]
}
]}
/>
</div>
</ThemeProvider>
);
}

5
vercel.json Normal file
View File

@@ -0,0 +1,5 @@
{
"installCommand": "npm ci",
"buildCommand": "npm run build",
"outputDirectory": ".next"
}