Merge version_2_1781994165096 into main #2

Merged
bender merged 1 commits from version_2_1781994165096 into main 2026-06-20 22:25:22 +00:00
10 changed files with 235 additions and 142 deletions

View File

@@ -8,9 +8,9 @@
--background: #f5faff;
--card: #ffffff;
--foreground: #001122;
--primary-cta: #15479c;
--primary-cta: #000000;
--primary-cta-text: #f5faff;
--secondary-cta: #ffffff;
--secondary-cta: #f1f5f9;
--secondary-cta-text: #001122;
--accent: #a8cce8;
--background-accent: #7ba3cf;

View File

@@ -1,152 +1,36 @@
import AboutText from '@/components/sections/about/AboutText';
import ContactCta from '@/components/sections/contact/ContactCta';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import FeaturesTaggedCards from '@/components/sections/features/FeaturesTaggedCards';
import HeroCenteredLogos from '@/components/sections/hero/HeroCenteredLogos';
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
import PricingLayeredCards from '@/components/sections/pricing/PricingLayeredCards';
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
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 AboutSection from './HomePage/sections/About';
import FeaturesSection from './HomePage/sections/Features';
import ProductsSection from './HomePage/sections/Products';
import PricingSection from './HomePage/sections/Pricing';
import MetricsSection from './HomePage/sections/Metrics';
import TestimonialsSection from './HomePage/sections/Testimonials';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroCenteredLogos
avatarsSrc={[]}
avatarText=""
names={[]}
title="Your Trusted Partner for Leeds Property Lettings"
description="Find your perfect 1-5 bedroom home in Leeds with Gill Properties. We make finding your next home simple and stress-free."
primaryButton={{
text: "View Properties", href: "#products"}}
secondaryButton={{
text: "Contact Us", href: "#contact"}}
imageSrc="http://img.b2bpic.net/free-photo/front-view-abandoned-house-with-tall-windows_23-2149454813.jpg"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutText
title="Welcome to Gill Properties, Leeds leading lettings experts. We pride ourselves on providing high-quality 1-5 bedroom homes with exceptional service, ensuring you have a seamless rental experience in Leeds."
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesTaggedCards
tag="Why Us"
title="Simple Lettings Process"
description="We believe in transparency and efficiency for every tenant."
items={[
{
tag: "Expertise", title: "Local Knowledge", description: "Years of experience in the Leeds property market.", primaryButton: {
text: "Learn More", href: "#"},
imageSrc: "http://img.b2bpic.net/free-photo/interior-fragment-with-armchairs-glass-wall-stylish-lounge-area-furniture_169016-72729.jpg"},
{
tag: "Support", title: "24/7 Assistance", description: "We are here for you whenever you need us.", primaryButton: {
text: "Support Info", href: "#"},
imageSrc: "http://img.b2bpic.net/free-photo/home-interior-design-composition_23-2148986635.jpg"},
{
tag: "Quality", title: "High Standards", description: "Every home is vetted for your comfort and safety.", primaryButton: {
text: "Standards", href: "#"},
imageSrc: "http://img.b2bpic.net/free-photo/diary-keyboard-with-blueprint-white-backdrop_23-2148183057.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBento
tag="Available Properties"
title="Our Leeds Portfolio"
description="Select from a variety of home sizes across the city."
items={[
{ title: "1 Bedroom Studio", description: "Perfect for single professionals.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/hotel-room-with-open-balcony-soft-light-through-curtains-cozy-bedroom_169016-70022.jpg" },
{ title: "2 Bedroom Apartment", description: "Ideal for couples and small families.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/cozy-living-room-with-orange-sofa-natural-light_23-2152001394.jpg" },
{ title: "3 Bedroom Home", description: "Spacious living in quiet neighborhoods.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/bangkok-elephant-care-sanctuary-buildings-with-lake-lotus-flowers_482257-123883.jpg" },
{ title: "4 Bedroom House", description: "Generous space for shared living.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/full-shot-family-home_23-2149160275.jpg" },
{ title: "5 Bedroom Luxury", description: "Premium living for large households.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/romantic-villa-ephrussie-french-riviera-beauty-nature_1268-36319.jpg" },
{ title: "Student Flats", description: "Well-connected near university zones.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/modern-kitchen-island-with-fluted-glass-cabinets-stylish-interior-with-builtin-appliances_169016-72717.jpg" },
{ title: "Refurbished Homes", description: "Recently renovated to high standards.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/cozy-home-office-with-desk-chair-natural-light_23-2152001385.jpg" }
]}
/>
</SectionErrorBoundary>
</div>
<ProductsSection />
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingLayeredCards
tag="Flexible Terms"
title="Rental Tiers"
description="Choose a lease term that fits your life."
plans={[
{
tag: "Short", price: "6 Months", description: "For those needing flexibility.", primaryButton: { text: "Inquire", href: "#contact" },
features: ["Quick move-in", "Standard terms"],
},
{
tag: "Standard", price: "12 Months", description: "Our most popular choice.", primaryButton: { text: "Inquire", href: "#contact" },
features: ["Fixed rate", "Extended peace of mind"],
},
{
tag: "Extended", price: "24 Months", description: "Best value for long-term residents.", primaryButton: { text: "Inquire", href: "#contact" },
features: ["Guaranteed pricing", "Priority maintenance"],
},
]}
/>
</SectionErrorBoundary>
</div>
<PricingSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsMediaCards
tag="Our Impact"
title="Trustworthy Results"
description="We are proud of the community we serve in Leeds."
metrics={[
{ value: "150+", title: "Homes Managed", description: "Active rentals across the Leeds area.", imageSrc: "http://img.b2bpic.net/free-photo/still-life-with-details-home-decor-cozy-interior-room_169016-2232.jpg" },
{ value: "98%", title: "Tenant Satisfaction", description: "Positive feedback from our residents.", imageSrc: "http://img.b2bpic.net/free-photo/modern-interior-design-interior_23-2151929568.jpg" },
{ value: "10+ Years", title: "Market Presence", description: "Expertise you can rely on.", imageSrc: "http://img.b2bpic.net/free-photo/dark-blue-kitchen-cabinetry-with-glass-doors-elegant-interior-design-featuring-natural-wood_169016-72736.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialOverlayCards
tag="Happy Residents"
title="What People Say"
description="Hear from those who call our properties home."
testimonials={[
{ name: "James R.", role: "Professional", company: "Leeds Business", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/pretty-blonde-woman-standing-with-box-new-house-apartment_74855-10349.jpg" },
{ name: "Sophie M.", role: "Academic", company: "University of Leeds", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/confident-woman-standing-with-arms-crossed_107420-95955.jpg" },
{ name: "David W.", role: "Tenant", company: "Gill Properties", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/young-family-posing-photography_1098-15703.jpg" },
{ name: "Emily B.", role: "Graduate", company: "Local Agency", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/charming-woman-tracksuit-dancing-sitting-couch_197531-19848.jpg" },
{ name: "Mark K.", role: "Resident", company: "Leeds City", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/young-smiley-man-looking-camera_23-2148306634.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Start Today"
text="Ready to find your new home in Leeds?"
primaryButton={{
text: "Contact Our Team", href: "mailto:info@gillproperties.co.uk"}}
secondaryButton={{
text: "Call Now", href: "tel:0113000000"}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,18 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "about" section.
import React from 'react';
import AboutText from '@/components/sections/about/AboutText';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutText
title="Welcome to Gill Properties, Leeds leading lettings experts. We pride ourselves on providing high-quality 1-5 bedroom homes with exceptional service, ensuring you have a seamless rental experience in Leeds."
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,23 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "contact" section.
import React from 'react';
import ContactCta from '@/components/sections/contact/ContactCta';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ContactSection(): React.JSX.Element {
return (
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Start Today"
text="Ready to find your new home in Leeds?"
primaryButton={{
text: "Contact Our Team", href: "mailto:info@gillproperties.co.uk"}}
secondaryButton={{
text: "Call Now", href: "tel:0113000000"}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,34 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "features" section.
import React from 'react';
import FeaturesTaggedCards from '@/components/sections/features/FeaturesTaggedCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesTaggedCards
tag="Why Us"
title="Simple Lettings Process"
description="We believe in transparency and efficiency for every tenant."
items={[
{
tag: "Expertise", title: "Local Knowledge", description: "Years of experience in the Leeds property market.", primaryButton: {
text: "Learn More", href: "#"},
imageSrc: "http://img.b2bpic.net/free-photo/interior-fragment-with-armchairs-glass-wall-stylish-lounge-area-furniture_169016-72729.jpg"},
{
tag: "Support", title: "24/7 Assistance", description: "We are here for you whenever you need us.", primaryButton: {
text: "Support Info", href: "#"},
imageSrc: "http://img.b2bpic.net/free-photo/home-interior-design-composition_23-2148986635.jpg"},
{
tag: "Quality", title: "High Standards", description: "Every home is vetted for your comfort and safety.", primaryButton: {
text: "Standards", href: "#"},
imageSrc: "http://img.b2bpic.net/free-photo/diary-keyboard-with-blueprint-white-backdrop_23-2148183057.jpg"},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,19 @@
// Created by add_section_from_catalog (HeroBillboard).
import React from 'react';
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
export default function HeroSection(): React.JSX.Element {
return (
<div data-webild-section="hero" id="hero">
<HeroBillboard
description="Find your perfect 1-5 bedroom home in Leeds with Gill Properties. We make finding your next home simple and stress-free."
primaryButton={{"href":"#products","text":"View Properties"}}
secondaryButton={{"href":"#contact","text":"Contact Us"}}
imageSrc="http://img.b2bpic.net/free-photo/front-view-abandoned-house-with-tall-windows_23-2149454813.jpg"
title="Your Trusted Partner for Leeds Property Lettings"
tag="Gill Properties"
/>
</div>
);
}

View File

@@ -0,0 +1,25 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "metrics" section.
import React from 'react';
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsMediaCards
tag="Our Impact"
title="Trustworthy Results"
description="We are proud of the community we serve in Leeds."
metrics={[
{ value: "150+", title: "Homes Managed", description: "Active rentals across the Leeds area.", imageSrc: "http://img.b2bpic.net/free-photo/still-life-with-details-home-decor-cozy-interior-room_169016-2232.jpg" },
{ value: "98%", title: "Tenant Satisfaction", description: "Positive feedback from our residents.", imageSrc: "http://img.b2bpic.net/free-photo/modern-interior-design-interior_23-2151929568.jpg" },
{ value: "10+ Years", title: "Market Presence", description: "Expertise you can rely on.", imageSrc: "http://img.b2bpic.net/free-photo/dark-blue-kitchen-cabinetry-with-glass-doors-elegant-interior-design-featuring-natural-wood_169016-72736.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,34 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "pricing" section.
import React from 'react';
import PricingLayeredCards from '@/components/sections/pricing/PricingLayeredCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function PricingSection(): React.JSX.Element {
return (
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingLayeredCards
tag="Flexible Terms"
title="Rental Tiers"
description="Choose a lease term that fits your life."
plans={[
{
tag: "Short", price: "6 Months", description: "For those needing flexibility.", primaryButton: { text: "Inquire", href: "#contact" },
features: ["Quick move-in", "Standard terms"],
},
{
tag: "Standard", price: "12 Months", description: "Our most popular choice.", primaryButton: { text: "Inquire", href: "#contact" },
features: ["Fixed rate", "Extended peace of mind"],
},
{
tag: "Extended", price: "24 Months", description: "Best value for long-term residents.", primaryButton: { text: "Inquire", href: "#contact" },
features: ["Guaranteed pricing", "Priority maintenance"],
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,29 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "products" section.
import React from 'react';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProductsSection(): React.JSX.Element {
return (
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBento
tag="Available Properties"
title="Our Leeds Portfolio"
description="Select from a variety of home sizes across the city."
items={[
{ title: "1 Bedroom Studio", description: "Perfect for single professionals.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/hotel-room-with-open-balcony-soft-light-through-curtains-cozy-bedroom_169016-70022.jpg" },
{ title: "2 Bedroom Apartment", description: "Ideal for couples and small families.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/cozy-living-room-with-orange-sofa-natural-light_23-2152001394.jpg" },
{ title: "3 Bedroom Home", description: "Spacious living in quiet neighborhoods.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/bangkok-elephant-care-sanctuary-buildings-with-lake-lotus-flowers_482257-123883.jpg" },
{ title: "4 Bedroom House", description: "Generous space for shared living.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/full-shot-family-home_23-2149160275.jpg" },
{ title: "5 Bedroom Luxury", description: "Premium living for large households.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/romantic-villa-ephrussie-french-riviera-beauty-nature_1268-36319.jpg" },
{ title: "Student Flats", description: "Well-connected near university zones.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/modern-kitchen-island-with-fluted-glass-cabinets-stylish-interior-with-builtin-appliances_169016-72717.jpg" },
{ title: "Refurbished Homes", description: "Recently renovated to high standards.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/cozy-home-office-with-desk-chair-natural-light_23-2152001385.jpg" }
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,27 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "testimonials" section.
import React from 'react';
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialOverlayCards
tag="Happy Residents"
title="What People Say"
description="Hear from those who call our properties home."
testimonials={[
{ name: "James R.", role: "Professional", company: "Leeds Business", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/pretty-blonde-woman-standing-with-box-new-house-apartment_74855-10349.jpg" },
{ name: "Sophie M.", role: "Academic", company: "University of Leeds", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/confident-woman-standing-with-arms-crossed_107420-95955.jpg" },
{ name: "David W.", role: "Tenant", company: "Gill Properties", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/young-family-posing-photography_1098-15703.jpg" },
{ name: "Emily B.", role: "Graduate", company: "Local Agency", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/charming-woman-tracksuit-dancing-sitting-couch_197531-19848.jpg" },
{ name: "Mark K.", role: "Resident", company: "Leeds City", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/young-smiley-man-looking-camera_23-2148306634.jpg" },
]}
/>
</SectionErrorBoundary>
</div>
);
}