Initial commit

This commit is contained in:
DK
2026-02-05 14:33:40 +00:00
commit 82a6091dd3
8 changed files with 1794 additions and 0 deletions

2
.env Normal file
View File

@@ -0,0 +1,2 @@
NEXT_PUBLIC_API_URL=https://dev.api.webild.io
NEXT_PUBLIC_PROJECT_ID=a2c46dc5-33b8-4841-bb99-40adc62d9524

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

File diff suppressed because it is too large Load Diff

261
src/app/page.tsx Normal file
View 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
View 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
View File

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