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=ced0cfb6-4b4f-45f5-ae70-aff0d5820400
|
||||
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 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
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";
|
||||
1268
src/app/layout.tsx
Normal file
1268
src/app/layout.tsx
Normal file
File diff suppressed because it is too large
Load Diff
218
src/app/page.tsx
Normal file
218
src/app/page.tsx
Normal 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
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