Switch to version 2: modified src/pages/HomePage.tsx
This commit is contained in:
@@ -1,256 +1,36 @@
|
||||
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import FeaturesArrowCards from '@/components/sections/features/FeaturesArrowCards';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroSplit from '@/components/sections/hero/HeroSplit';
|
||||
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
|
||||
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
|
||||
import { Shield, Star, Zap } from "lucide-react";
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
// AUTO-GENERATED shell by per-section-migrate.
|
||||
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
|
||||
// files directly. Non-block content (wrappers, non-inlinable sections) is
|
||||
// preserved inline; extracted section blocks become <XSection/> refs.
|
||||
|
||||
export default function HomePage() {
|
||||
import React from 'react';
|
||||
import HeroSection from './HomePage/sections/Hero';
|
||||
import SocialProofSection from './HomePage/sections/SocialProof';
|
||||
import ProductsSection from './HomePage/sections/Products';
|
||||
import FeaturesSection from './HomePage/sections/Features';
|
||||
import AboutSection from './HomePage/sections/About';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import FaqSection from './HomePage/sections/Faq';
|
||||
import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplit
|
||||
tag="Est. 2024"
|
||||
title="Your Everyday Essentials"
|
||||
description="Made to feel good, made to last. Elevate your daily routine with our collection of oversized tees, stationery, and laptop sleeves."
|
||||
primaryButton={{
|
||||
text: "Shop Now",
|
||||
href: "#products",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Our Story",
|
||||
href: "#about",
|
||||
}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/image-cute-woman-luffing-with-phone-city_197531-33752.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="social-proof" data-section="social-proof">
|
||||
<SectionErrorBoundary name="social-proof">
|
||||
<SocialProofMarquee
|
||||
tag="Catalog Highlights"
|
||||
title="Discover Perhaps"
|
||||
description="Essential goods designed for the modern Egyptian lifestyle."
|
||||
names={[
|
||||
"Oversized Tees",
|
||||
"Notebooks",
|
||||
"Laptop Sleeves",
|
||||
"Essential Kits",
|
||||
"Daily Goods",
|
||||
"Lifestyle Essentials",
|
||||
"Everyday Apparel",
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<SocialProofSection />
|
||||
|
||||
<div id="products" data-section="products">
|
||||
<SectionErrorBoundary name="products">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Featured Products"
|
||||
title="Curated Collections"
|
||||
description="Explore our limited edition drops and lifestyle staples."
|
||||
items={[
|
||||
{
|
||||
title: "Oversized Basic Tee",
|
||||
description: "Heavyweight cotton, Egyptian-made.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-dealing-with-anxiety_23-2149521420.jpg",
|
||||
},
|
||||
{
|
||||
title: "Minimal Notebook",
|
||||
description: "Lined pages for your thoughts.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/minimal-home-desk-workspace-with-clipboard-pen-coffee-mug-pastel-pink-grey-background-flat-lay-top-view_501050-647.jpg",
|
||||
},
|
||||
{
|
||||
title: "Padded Laptop Sleeve",
|
||||
description: "Protect your gear in style.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/set-various-digital-devices_23-2147864697.jpg",
|
||||
},
|
||||
{
|
||||
title: "Summer Graphic Tee",
|
||||
description: "Artist-designed comfort.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-beige-suit-with-flowers_23-2151940177.jpg",
|
||||
},
|
||||
{
|
||||
title: "Pocket Sketchbook",
|
||||
description: "Perfect for creative souls.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/detail-beautiful-young-woman-writting_1301-5221.jpg",
|
||||
},
|
||||
{
|
||||
title: "Durable Gear Case",
|
||||
description: "Carry everything together.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-with-bear-using-tablet-modern-building-chilling-sofa_273443-3121.jpg",
|
||||
},
|
||||
{
|
||||
title: "Limited Drop",
|
||||
description: "New releases dropping soon.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/assortment-delicious-fresh-vegetable_23-2148913335.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProductsSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesArrowCards
|
||||
tag="Our Vibe"
|
||||
title="Feel The Quality"
|
||||
description="We don't do compromises. Everything we make is curated to last."
|
||||
items={[
|
||||
{
|
||||
title: "Artistic Vision",
|
||||
tags: [
|
||||
"Creative",
|
||||
"Unique",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/beach-umbrella-made-reed-with-metal-cap-top_1268-15777.jpg",
|
||||
},
|
||||
{
|
||||
title: "Sustainable Comfort",
|
||||
tags: [
|
||||
"Soft",
|
||||
"Durable",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/lavender-colored-background-with-abstract-texture_23-2151396663.jpg",
|
||||
},
|
||||
{
|
||||
title: "Egyptian Craft",
|
||||
tags: [
|
||||
"Local",
|
||||
"Quality",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-arrangement-with-jeans-fabric_23-2148876417.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutFeaturesSplit
|
||||
tag="Our Ethos"
|
||||
title="Perhaps is for the creators"
|
||||
description="We are a Cairo-based brand obsessed with the intersection of art and utility. Est. 2024 to redefine your everyday essentials."
|
||||
items={[
|
||||
{
|
||||
icon: Zap,
|
||||
title: "Bold Aesthetic",
|
||||
description: "Playful design that makes you stand out.",
|
||||
},
|
||||
{
|
||||
icon: Shield,
|
||||
title: "Built to Last",
|
||||
description: "Quality materials designed for longevity.",
|
||||
},
|
||||
{
|
||||
icon: Star,
|
||||
title: "Artistic Focus",
|
||||
description: "Every product is a canvas.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/full-shot-man-painting-indoors_23-2150182592.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialMarqueeCards
|
||||
tag="Community Love"
|
||||
title="Loved by you"
|
||||
description="Hear what our Perhaps family says about our essentials."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Amira M.",
|
||||
role: "Creative",
|
||||
quote: "My favorite oversized tee ever.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-portrait-young-couple-taking-selfie-mobile-phone_23-2148151750.jpg",
|
||||
},
|
||||
{
|
||||
name: "Omar K.",
|
||||
role: "Student",
|
||||
quote: "Notebook quality is top notch.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-woman-bed-working-studying-writing-her-journal-reading-notebook-notes_1258-204266.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sara H.",
|
||||
role: "Designer",
|
||||
quote: "The laptop sleeve saved my Mac.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-jacket-leaning-wall-cafe_171337-16379.jpg",
|
||||
},
|
||||
{
|
||||
name: "Karim L.",
|
||||
role: "Artist",
|
||||
quote: "Unique designs, great fit.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-hispanic-woman-artist-smiling-confident-holding-paintbrush-palette-art-studio_839833-25796.jpg",
|
||||
},
|
||||
{
|
||||
name: "Laila Y.",
|
||||
role: "Photographer",
|
||||
quote: "Perhaps is my new go-to brand.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/lifestyle-sunny-fashion-portrait-young-stylish-woman-walking-street-with-camera-smiling-enjoy-weekends-make-photo-her-travel-old-retro-photocamera-vintage_639032-2502.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Helpful Info"
|
||||
title="Common Questions"
|
||||
description="Everything you need to know about our products and shipping."
|
||||
items={[
|
||||
{
|
||||
question: "How long is delivery?",
|
||||
answer: "We deliver all over Egypt within two weeks.",
|
||||
},
|
||||
{
|
||||
question: "What is the return policy?",
|
||||
answer: "You can return products within 14 days if in original condition.",
|
||||
},
|
||||
{
|
||||
question: "Where are you based?",
|
||||
answer: "Our studio is based in Cairo, Egypt.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/high-angle-desk-arrangement-with-cup_23-2149073077.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Reach Out"
|
||||
text="Join the Perhaps family. Follow us on Instagram for daily aesthetic updates."
|
||||
primaryButton={{
|
||||
text: "@getperhaps",
|
||||
href: "https://instagram.com/getperhaps",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Contact Support",
|
||||
href: "mailto:hello@getperhaps.com",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user