Initial commit

This commit is contained in:
2026-02-05 15:45:38 +02:00
commit 6d61fa7af5
7 changed files with 1660 additions and 0 deletions

2
.env Normal file
View File

@@ -0,0 +1,2 @@
NEXT_PUBLIC_API_URL=undefined
NEXT_PUBLIC_PROJECT_ID=76689ffe-c4e3-45f2-ae31-42ac32a2fbc8

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"

98
src/app/blog/page.tsx Normal file
View File

@@ -0,0 +1,98 @@
"use client";
import ReactLenis from "lenis/react";
import BlogCardTwo from '@/components/sections/blog/BlogCardTwo';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
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="bounce-effect"
defaultTextAnimation="entrance-slide"
borderRadius="sharp"
contentWidth="small"
sizing="mediumLarge"
background="floatingGradient"
cardStyle="soft-shadow"
primaryButtonStyle="flat"
secondaryButtonStyle="glass"
headingFontWeight="normal"
>
<ReactLenis root>
<div className="min-h-screen bg-background">
<NavbarStyleApple
brandName="iPhone Store"
navItems={[
{ name: "Home", id: "/" },
{ name: "Products", id: "products" },
{ name: "Features", id: "features" },
{ name: "Pricing", id: "pricing" },
{ name: "Contact", id: "contact" }
]}
/>
{isLoading ? (
<div className="w-content-width mx-auto py-20 text-center">
<p className="text-foreground">Loading posts...</p>
</div>
) : (
<BlogCardTwo
blogs={posts}
title="Latest iPhone Insights"
description="Discover the latest tips, reviews, and insights about iPhone technology and accessories"
textboxLayout="default"
useInvertedBackground="noInvert"
carouselMode="buttons"
animationType="slide-up"
tag="Blog"
/>
)}
<FooterBaseCard
logoText="iPhone Store"
copyrightText="© 2025 iPhone Store. All rights reserved."
columns={[
{
title: "Products", items: [
{ label: "iPhone 15 Pro", href: "#products" },
{ label: "iPhone 15", href: "#products" },
{ label: "iPhone SE", href: "#products" },
{ label: "Compare Models", href: "#features" }
]
},
{
title: "Support", items: [
{ label: "Technical Support", href: "#contact" },
{ label: "Warranty Info", href: "#contact" },
{ label: "Shipping & Returns", href: "#contact" },
{ label: "Track Order", href: "#" }
]
},
{
title: "Company", items: [
{ label: "About Us", href: "#" },
{ label: "Blog", href: "#" },
{ label: "Careers", href: "#" },
{ label: "Contact", href: "#contact" }
]
},
{
title: "Legal", items: [
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" },
{ label: "Cookie Settings", href: "#" },
{ label: "Accessibility", 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";

1263
src/app/layout.tsx Normal file

File diff suppressed because it is too large Load Diff

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

@@ -0,0 +1,230 @@
"use client"
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import HeroLogoBillboard from '@/components/sections/hero/HeroLogoBillboard';
import ProductCardThree from '@/components/sections/product/ProductCardThree';
import FeatureCardMedia from '@/components/sections/feature/FeatureCardMedia';
import PricingCardFive from '@/components/sections/pricing/PricingCardFive';
import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
import ContactFaq from '@/components/sections/contact/ContactFaq';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
import { MessageSquare } from "lucide-react";
export default function LandingPage() {
return (
<ThemeProvider
defaultButtonVariant="bounce-effect"
defaultTextAnimation="entrance-slide"
borderRadius="sharp"
contentWidth="small"
sizing="mediumLarge"
background="floatingGradient"
cardStyle="soft-shadow"
primaryButtonStyle="flat"
secondaryButtonStyle="glass"
headingFontWeight="normal"
>
<div id="nav" data-section="nav">
<NavbarStyleApple
brandName="iPhone Store"
navItems={[
{ name: "Products", id: "products" },
{ name: "Features", id: "features" },
{ name: "Pricing", id: "pricing" },
{ name: "Contact", id: "contact" }
]}
/>
</div>
<div id="hero" data-section="hero">
<HeroLogoBillboard
logoText="iPhone Store"
description="Experience the latest in smartphone innovation with our curated selection of premium iPhones. From cutting-edge performance to stunning displays, find your perfect device today."
buttons={[
{ text: "Shop Now", href: "#products" },
{ text: "Learn More", href: "#features" }
]}
background={{ variant: "sparkles-gradient" }}
imageSrc="https://img.b2bpic.net/free-psd/new-smartphone-a18-bionic-social-media-banner-design-template_47987-33085.jpg"
imageAlt="Latest iPhone models showcase"
frameStyle="card"
/>
</div>
<div id="products" data-section="products">
<ProductCardThree
title="Shop Our Collection"
description="Browse our carefully selected iPhone models with premium specifications and competitive pricing"
products={[
{
id: "1", name: "iPhone 15 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 15 Pro Max", initialQuantity: 1
},
{
id: "2", name: "iPhone 15 Pro", price: "$999", imageSrc: "https://img.b2bpic.net/free-photo/phone-14-front-side-arabic-themed-background_187299-35431.jpg", imageAlt: "iPhone 15 Pro", initialQuantity: 1
},
{
id: "3", name: "iPhone 15", price: "$799", imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-17-pro-social-media-story-design-template_47987-33778.jpg", imageAlt: "iPhone 15", initialQuantity: 1
},
{
id: "4", name: "iPhone SE", price: "$429", imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-16-pro-social-media-cover-design-template_47987-25428.jpg", imageAlt: "iPhone SE", initialQuantity: 1
}
]}
gridVariant="four-items-2x2-equal-grid"
animationType="slide-up"
textboxLayout="default"
useInvertedBackground="invertDefault"
/>
</div>
<div id="features" data-section="features">
<FeatureCardMedia
title="Why Choose Our iPhones"
description="Discover the innovation and quality that sets our iPhone selection apart"
features={[
{
id: "1", title: "Advanced Camera System", description: "Capture stunning photos and videos with next-generation computational photography and advanced image processing", tag: "Innovation", imageSrc: "https://img.b2bpic.net/free-psd/smartphone-16-pro-discount-sale-banner-social-media-design-template_47987-25305.jpg"
},
{
id: "2", title: "Powerful Performance", description: "Experience lightning-fast processing with the latest A-series chips designed for seamless multitasking and gaming", tag: "Performance", imageSrc: "https://img.b2bpic.net/free-photo/phone-14-front-side-arabic-themed-background_187299-35431.jpg"
},
{
id: "3", title: "Stunning Display", description: "Enjoy vibrant colors and deep blacks on Super Retina XDR displays with ProMotion technology", tag: "Display", imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-17-pro-social-media-story-design-template_47987-33778.jpg"
},
{
id: "4", title: "All-Day Battery", description: "Stay powered throughout the day with advanced battery technology and efficient power management", tag: "Battery", imageSrc: "https://img.b2bpic.net/free-psd/new-smartphone-16-pro-social-media-cover-design-template_47987-25428.jpg"
}
]}
animationType="slide-up"
textboxLayout="default"
useInvertedBackground="noInvert"
/>
</div>
<div id="pricing" data-section="pricing">
<PricingCardFive
title="Simple Pricing"
description="Choose the perfect iPhone model that fits your needs and budget"
plans={[
{
id: "basic", tag: "iPhone SE", price: "$429", period: "one-time", description: "Perfect for everyday use with reliable performance", button: { text: "Buy Now", href: "#contact" },
featuresTitle: "Included:", features: [
"5G connectivity", "A15 Bionic chip", "12MP camera", "Up to 15 hours battery life", "Water and dust resistant", "1 year warranty"
]
},
{
id: "pro", tag: "iPhone 15 Pro", price: "$999", period: "one-time", description: "Professional-grade features for power users", button: { text: "Buy Now", href: "#contact" },
featuresTitle: "Included:", features: [
"5G connectivity", "A17 Pro chip", "Advanced triple camera", "ProMotion display (120Hz)", "Up to 20 hours battery life", "Titanium design", "2 year warranty"
]
},
{
id: "max", tag: "iPhone 15 Pro Max", price: "$1,199", period: "one-time", description: "Ultimate performance with premium features", button: { text: "Buy Now", href: "#contact" },
featuresTitle: "Included:", features: [
"5G connectivity", "A17 Pro chip", "Pro camera system", "6.7-inch Super Retina XDR", "Up to 30 hours battery life", "Titanium design", "Premium support", "2 year warranty"
]
}
]}
animationType="slide-up"
textboxLayout="default"
useInvertedBackground="invertDefault"
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardTen
title="Loved by Our Customers"
description="See what iPhone enthusiasts and professionals have to say about their experience"
testimonials={[
{
id: "1", title: "Best Purchase Decision", quote: "The iPhone Pro has completely transformed my photography workflow. The camera system is absolutely incredible, and the build quality is exceptional. Highly recommend!", name: "Sarah Anderson", role: "Professional Photographer", imageSrc: "https://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg", imageAlt: "Sarah Anderson"
},
{
id: "2", title: "Perfect Everyday Device", quote: "I've been using iPhone for years, but this latest model is a game-changer. Fast, reliable, and the battery lasts all day. Great value for the quality.", name: "Michael Chen", role: "Software Developer", 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"
},
{
id: "3", title: "Seamless Experience", quote: "From unboxing to first use, everything felt premium and intuitive. The integration with my other Apple devices is seamless. Couldn't be happier!", name: "Emma Rodriguez", role: "Business Executive", imageSrc: "https://img.b2bpic.net/free-photo/positive-confident-businessman-posing-outside_74855-1183.jpg", imageAlt: "Emma Rodriguez"
},
{
id: "4", title: "Excellent Customer Service", quote: "Not only is the iPhone fantastic, but the customer service team went above and beyond. Truly appreciated the support and quick delivery.", name: "James Wilson", role: "Tech Enthusiast", imageSrc: "https://img.b2bpic.net/free-photo/close-up-competitive-employee_1098-2870.jpg", imageAlt: "James Wilson"
}
]}
textboxLayout="default"
useInvertedBackground="noInvert"
/>
</div>
<div id="contact" data-section="contact">
<ContactFaq
ctaTitle="Ready to Upgrade?"
ctaDescription="Get in touch with our sales team for personalized recommendations and special offers"
ctaButton={{ text: "Contact Us Now", href: "mailto:sales@iphonestore.com" }}
ctaIcon={MessageSquare}
faqs={[
{
id: "1", title: "What warranty do you offer?", content: "All our iPhones come with a standard 1-year limited warranty. We also offer extended AppleCare+ protection plans for up to 2 additional years of coverage, accidental damage protection, and priority support."
},
{
id: "2", title: "Do you offer trade-in programs?", content: "Yes! We accept trade-ins on your old iPhone. The value depends on the model, condition, and specifications. Contact our sales team for a quick evaluation and instant credit toward your purchase."
},
{
id: "3", title: "What about financing options?", content: "We offer flexible financing plans with zero interest for qualified purchases. Choose from 6, 12, or 24-month payment plans. Contact us to discuss options that work best for your budget."
},
{
id: "4", title: "How long does shipping take?", content: "Standard shipping typically takes 3-5 business days. We also offer expedited 1-2 day shipping, and same-day delivery in select areas. All shipments are fully insured and include tracking."
},
{
id: "5", title: "What if I have issues with my device?", content: "Our technical support team is available 24/7 to help. We provide phone, email, and live chat support. For hardware issues, we offer in-store repairs, mail-in service, or replacement options depending on your warranty coverage."
},
{
id: "6", title: "Can I return my iPhone?", content: "Absolutely. We offer a 30-day return policy on all unopened devices and 14 days for opened products in original condition. We also provide hassle-free exchanges if you want to switch models or colors."
}
]}
useInvertedBackground="invertDefault"
animationType="slide-up"
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseCard
logoText="iPhone Store"
copyrightText="© 2025 iPhone Store. All rights reserved."
columns={[
{
title: "Products", items: [
{ label: "iPhone 15 Pro", href: "#products" },
{ label: "iPhone 15", href: "#products" },
{ label: "iPhone SE", href: "#products" },
{ label: "Compare Models", href: "#features" }
]
},
{
title: "Support", items: [
{ label: "Technical Support", href: "#contact" },
{ label: "Warranty Info", href: "#contact" },
{ label: "Shipping & Returns", href: "#contact" },
{ label: "Track Order", href: "#" }
]
},
{
title: "Company", items: [
{ label: "About Us", href: "#" },
{ label: "Blog", href: "#" },
{ label: "Careers", href: "#" },
{ label: "Contact", href: "#contact" }
]
},
{
title: "Legal", items: [
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" },
{ label: "Cookie Settings", href: "#" },
{ label: "Accessibility", href: "#" }
]
}
]}
/>
</div>
</ThemeProvider>
);
}

5
vercel.json Normal file
View File

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