Merge version_2 into main

Merge version_2 into main
This commit was merged in pull request #8.
This commit is contained in:
2026-04-21 06:34:07 +00:00
2 changed files with 173 additions and 95 deletions

View File

@@ -1,99 +1,177 @@
'use client';
import { ThemeProvider } from '@/providers/themeProvider/ThemeProvider';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import HeroSplitTestimonial from '@/components/sections/hero/HeroSplitTestimonial';
import TestimonialCardFive from '@/components/sections/testimonial/TestimonialCardFive';
import FeatureCardTen from '@/components/sections/feature/FeatureCardTen';
import SplitAbout from '@/components/sections/about/SplitAbout';
import MetricCardFourteen from '@/components/sections/metrics/MetricCardFourteen';
import FaqDouble from '@/components/sections/faq/FaqDouble';
import ContactCTA from '@/components/sections/contact/ContactCTA';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
import { Zap, Shield } from 'lucide-react';
"use client";
export default function Page() {
const navItems = [{ name: 'Home', id: '/' }];
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactCTA from '@/components/sections/contact/ContactCTA';
import FaqDouble from '@/components/sections/faq/FaqDouble';
import FeatureCardTen from '@/components/sections/feature/FeatureCardTen';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
import HeroSplitTestimonial from '@/components/sections/hero/HeroSplitTestimonial';
import MetricCardFourteen from '@/components/sections/metrics/MetricCardFourteen';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import SplitAbout from '@/components/sections/about/SplitAbout';
import TestimonialCardFive from '@/components/sections/testimonial/TestimonialCardFive';
import { Award, CheckCircle, Home, Layers, Shield, Zap, Phone, Quote } from "lucide-react";
export default function LandingPage() {
return (
<ThemeProvider defaultButtonVariant="text-stagger" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
<div id="nav" data-section="nav">
<NavbarStyleCentered navItems={navItems} />
</div>
<div id="hero" data-section="hero">
<HeroSplitTestimonial
title="Experience True Innovation"
description="Empowering businesses with seamless, high-performance digital solutions designed for the future."
mediaAnimation="slide-up"
background={{ variant: "plain" }}
testimonials={[
{ name: "Alice Johnson", handle: "@alicej", testimonial: "A truly transformative experience for our workflow.", rating: 5 },
{ name: "Bob Smith", handle: "@bobsmith", testimonial: "Unmatched performance and incredible support.", rating: 5 }
]}
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardFive
title="Client Success Stories"
description="See what our clients have to say about our work."
textboxLayout="default"
useInvertedBackground={false}
testimonials={[
{ id: "1", name: "TechCorp", date: "2024-01-01", title: "Reliable Partner", quote: "They delivered exactly what we needed on time.", tag: "Review", avatarSrc: "/avatar1.png" }
]}
/>
</div>
<div id="services" data-section="services">
<FeatureCardTen
title="Core Services"
description="High-impact services to drive your business."
textboxLayout="default"
useInvertedBackground={false}
animationType="slide-up"
features={[{ title: "Strategy", description: "Data-driven consulting", media: { imageSrc: "/service1.png" }, items: [{ icon: Zap, text: "Scalable Growth" }] , reverse: false}]}
/>
</div>
<div id="why-astra" data-section="why-astra">
<SplitAbout
title="Why Choose Us"
description="Your success is our top priority, backed by years of industry expertise."
textboxLayout="default"
useInvertedBackground={false}
bulletPoints={[{ title: "Innovation", description: "Always ahead", icon: Shield }]}
/>
</div>
<div id="process" data-section="process">
<MetricCardFourteen
title="Our Impact"
tag="Proven Results"
useInvertedBackground={false}
metrics={[{ id: "1", value: "100+", description: "Projects Delivered" }]}
/>
</div>
<div id="local-focus" data-section="local-focus">
<FaqDouble
title="Frequently Asked Questions"
description="Common questions answered."
textboxLayout="default"
useInvertedBackground={false}
faqsAnimation="slide-up"
faqs={[{ id: "1", title: "How do we get started?", content: "Simply reach out through our contact page." }]}
/>
</div>
<div id="contact" data-section="contact">
<ContactCTA
tag="Contact Us"
title="Ready to Build?"
description="Let's collaborate on your next big project."
buttons={[{ text: "Get in touch" }]}
background={{ variant: "plain" }}
useInvertedBackground={false}
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseReveal
logoText="Webild"
columns={[{ title: "Company", items: [{ label: "About", href: "#" }] }]}
/>
</div>
<ThemeProvider
defaultButtonVariant="text-shift"
defaultTextAnimation="reveal-blur"
borderRadius="soft"
contentWidth="medium"
sizing="largeSizeMediumTitles"
background="noiseDiagonalGradient"
cardStyle="outline"
primaryButtonStyle="shadow"
secondaryButtonStyle="glass"
headingFontWeight="semibold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleCentered
navItems={[
{ name: "Home", id: "#hero" },
{ name: "Services", id: "#services" },
{ name: "Reviews", id: "#testimonials" },
{ name: "Contact", id: "#contact" },
]}
brandName="Astra Roofing"
/>
</div>
<div id="hero" data-section="hero">
<HeroSplitTestimonial
useInvertedBackground={false}
background={{ variant: "gradient-bars" }}
title="Roofing Done Right — First Time, Every Time"
description="Trusted local roofing specialists delivering premium workmanship across Walsall and surrounding areas. 5.0 Rated Local Roofing Service. 24/7 Availability."
testimonials={[
{ name: "Adrian S.", handle: "Local Client", testimonial: "Friendly, professional and competitively priced. The standard of workmanship is first class.", rating: 5 },
{ name: "Verified Customer", handle: "Local Client", testimonial: "Michael quickly identified the issue and fixed our roof leak properly. Honest, knowledgeable and affordable.", rating: 5 },
{ name: "Local Client", handle: "Local Client", testimonial: "Expertise second to none. Explained everything clearly and delivered exactly what was promised.", rating: 5 }
]}
buttons={[
{ text: "Get a Free Quote", href: "#contact" },
{ text: "Call Now: 01922 645993", href: "tel:01922645993" },
]}
imageSrc="http://img.b2bpic.net/free-photo/medium-shot-man-working-roof_23-2149343653.jpg?_wi=2"
imageAlt="Astra Roofing luxury craftsmanship"
mediaAnimation="slide-up"
/>
</div>
<div id="services" data-section="services">
<FeatureCardTen
animationType="slide-up"
textboxLayout="split"
useInvertedBackground={false}
features={[
{
title: "Roof Repairs", description: "Leaks, damaged tiles, storm damage — fixed properly, not patched temporarily.", media: { imageSrc: "http://img.b2bpic.net/free-photo/man-walking-roof_1321-1040.jpg?_wi=2", imageAlt: "Roof repairs" },
items: [{ icon: Shield, text: "Permanent solutions" }, { icon: Zap, text: "Fast response" }],
reverse: false,
},
{
title: "New Roof Installations", description: "Built to last using high-quality materials and expert workmanship.", media: { imageSrc: "http://img.b2bpic.net/free-photo/beautiful-wooden-house-with-dark-roof_23-2149343705.jpg?_wi=2", imageAlt: "New roof installation" },
items: [{ icon: Home, text: "New builds" }, { icon: Award, text: "Quality materials" }],
reverse: true,
},
{
title: "Flat Roofing", description: "Durable, weather-resistant flat roofing systems installed with precision.", media: { imageSrc: "http://img.b2bpic.net/free-photo/smiley-couple-seeing-new-house-with-realtor_23-2148895440.jpg?_wi=2", imageAlt: "Flat roofing" },
items: [{ icon: Layers, text: "Weather resistant" }, { icon: CheckCircle, text: "Precision install" }],
reverse: false,
}
]}
title="Complete Roofing Solutions"
description="Premium roofing services tailored to your property needs with precision and durability."
/>
</div>
<div id="why-astra" data-section="why-astra">
<SplitAbout
textboxLayout="split"
useInvertedBackground={false}
title="The Astra Standard"
description="We don't just fix roofs; we build lasting relationships through superior local service."
bulletPoints={[
{ title: "5-Star Rated Local Business", description: "Trusted by hundreds of homeowners in Walsall.", icon: Award },
{ title: "Transparent Pricing", description: "No hidden costs, no surprises — just honest quotes.", icon: CheckCircle },
{ title: "Expert Craftsmanship", description: "Built to last — Not just quick fixes.", icon: Shield },
]}
imageSrc="http://img.b2bpic.net/free-photo/modern-country-houses-construction_1385-17.jpg"
imageAlt="Craftsmanship at work"
mediaAnimation="blur-reveal"
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardFive
textboxLayout="default"
useInvertedBackground={true}
testimonials={[
{ id: "1", name: "Adrian S.", date: "Oct 2023", title: "First Class Work", quote: "Friendly, professional and competitively priced. The standard of workmanship is first class.", tag: "Verified", avatarSrc: "http://img.b2bpic.net/free-photo/smiley-couple-seeing-new-house-with-realtor_23-2148895440.jpg" },
{ id: "2", name: "Verified Customer", date: "Sept 2023", title: "Honest & Affordable", quote: "Michael quickly identified the issue and fixed our roof leak properly. Honest, knowledgeable and affordable.", tag: "Verified", avatarSrc: "http://img.b2bpic.net/free-photo/beautiful-women-works-garden_1157-24617.jpg" }
]}
title="Trusted by Local Homeowners"
description="Our customers choose Astra Roofing because we combine honest advice, fair pricing, and exceptional craftsmanship."
/>
</div>
<div id="process" data-section="process">
<MetricCardFourteen
useInvertedBackground={false}
title="A Simple, Professional Process"
tag="Our Process"
metrics={[
{ id: "m1", value: "1", description: "Get in Touch - Call or request a quote online" },
{ id: "m2", value: "2", description: "Roof Inspection - We assess the issue properly" },
{ id: "m3", value: "3", description: "Clear Quote - No hidden costs, no surprises" },
{ id: "m4", value: "4", description: "Expert Workmanship - Completed to the highest standard" },
]}
metricsAnimation="slide-up"
/>
</div>
<div id="local-focus" data-section="local-focus">
<FaqDouble
textboxLayout="split"
useInvertedBackground={true}
faqs={[
{ id: "l1", title: "Where are you based?", content: "312 Sutton Rd, Walsall WS5 3BD" },
{ id: "l2", title: "Availability", content: "We are open 24 hours a day for emergency support." },
]}
title="Proudly Serving Walsall"
description="Based on Sutton Road, Astra Roofing Limited is your local roofing expert."
faqsAnimation="slide-up"
/>
</div>
<div id="contact" data-section="contact">
<ContactCTA
useInvertedBackground={false}
background={{ variant: "plain" }}
tag="Contact Us"
title="Got a Leak or Roofing Issue?"
description="Don't wait until it gets worse. Small problems turn into expensive repairs fast."
buttons={[
{ text: "Get a Free Quote", href: "#" },
{ text: "Call Now: 01922 645993", href: "tel:01922645993" },
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseReveal
logoText="Astra Roofing Limited"
columns={[
{ title: "Quick Links", items: [{ label: "Home", href: "#hero" }, { label: "Services", href: "#services" }, { label: "Reviews", href: "#testimonials" }, { label: "Contact", href: "#contact" }] },
{ title: "Contact", items: [{ label: "01922 645993", href: "tel:01922645993" }, { label: "Walsall", href: "#" }, { label: "Open 24/7", href: "#" }] },
]}
copyrightText="© 2025 Astra Roofing Limited"
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -10,7 +10,7 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #ffffff;
--background: #FFFFFF;
--card: #f9f9f9;
--foreground: #111111;
--primary-cta: #C8A96A;