Compare commits
3 Commits
version_1_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 69e564a40a | |||
|
|
17081ca431 | ||
| 35e51505e8 |
@@ -48,13 +48,13 @@ export default function Layout() {
|
||||
<FooterBasic
|
||||
columns={[
|
||||
{
|
||||
title: "Practice Areas", items: [
|
||||
title: "Engineering Disciplines", items: [
|
||||
{
|
||||
label: "Litigation", href: "#"},
|
||||
label: "Structural", href: "#"},
|
||||
{
|
||||
label: "Corporate Law", href: "#"},
|
||||
label: "Civil", href: "#"},
|
||||
{
|
||||
label: "Real Estate", href: "#"},
|
||||
label: "MEP", href: "#"},
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -79,7 +79,7 @@ export default function Layout() {
|
||||
},
|
||||
]}
|
||||
leftText="© 2024 Fashandi & Associates. All rights reserved."
|
||||
rightText="Professional Legal Services"
|
||||
rightText="Professional Engineering Services"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</StyleProvider>
|
||||
|
||||
@@ -1,203 +1,33 @@
|
||||
import AboutText from '@/components/sections/about/AboutText';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import FeaturesTaggedCards from '@/components/sections/features/FeaturesTaggedCards';
|
||||
import HeroBillboardTiltedCarousel from '@/components/sections/hero/HeroBillboardTiltedCarousel';
|
||||
import TeamOverlayCards from '@/components/sections/team/TeamOverlayCards';
|
||||
import TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
|
||||
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 TeamSection from './HomePage/sections/Team';
|
||||
import TestimonialSection from './HomePage/sections/Testimonial';
|
||||
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">
|
||||
<HeroBillboardTiltedCarousel
|
||||
tag="Premier Legal Counsel"
|
||||
title="Expert Legal Advocacy for Complex Challenges"
|
||||
description="Fashandi & Associates provides strategic, professional legal services tailored to your specific business and individual needs. Your success is our mission."
|
||||
primaryButton={{
|
||||
text: "Schedule Consultation",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Our Expertise",
|
||||
href: "#features",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/black-financial-consultant-explaining-deal-details_1163-5307.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-workstation-with-notepad-plant_23-2148430881.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/people-taking-part-high-protocol-event_23-2150951469.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/open-drawer-linear-perspective-dark-interior_169016-69134.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/female-engineers-working_23-2151657912.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-modern-environment_23-2148993909.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutText
|
||||
title="At Fashandi & Associates, we combine years of courtroom experience with deep commercial insight to resolve your most critical legal disputes and transactional matters."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesTaggedCards
|
||||
tag="Our Practice Areas"
|
||||
title="Comprehensive Legal Solutions"
|
||||
description="We specialize in navigating complex legal landscapes to ensure your business remains protected and compliant."
|
||||
items={[
|
||||
{
|
||||
tag: "Litigation",
|
||||
title: "Civil & Commercial Litigation",
|
||||
description: "Aggressive and strategic representation in complex business disputes.",
|
||||
primaryButton: {
|
||||
text: "Learn More",
|
||||
href: "#",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/photorealistic-law-environment_23-2151202468.jpg",
|
||||
},
|
||||
{
|
||||
tag: "Corporate",
|
||||
title: "Corporate Advisory",
|
||||
description: "Guidance on mergers, acquisitions, and everyday operational governance.",
|
||||
primaryButton: {
|
||||
text: "Learn More",
|
||||
href: "#",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/businessman-formalwear-telling-colleague-contract_1262-2690.jpg",
|
||||
},
|
||||
{
|
||||
tag: "Real Estate",
|
||||
title: "Real Estate Transactions",
|
||||
description: "Handling complex property acquisitions and development regulatory issues.",
|
||||
primaryButton: {
|
||||
text: "Learn More",
|
||||
href: "#",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/real-estate-sector_23-2151925492.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="team" data-section="team">
|
||||
<SectionErrorBoundary name="team">
|
||||
<TeamOverlayCards
|
||||
tag="Leadership"
|
||||
title="Meet Our Partners"
|
||||
description="Dedicated attorneys committed to your legal success and long-term business goals."
|
||||
members={[
|
||||
{
|
||||
name: "Alexander Fashandi",
|
||||
role: "Senior Partner",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/senior-businessman-with-arms-crossed-outside-modern-office-building_1139-1074.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sarah Jenkins",
|
||||
role: "Managing Partner",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-handsome-middle-aged-business-leader_1262-4822.jpg",
|
||||
},
|
||||
{
|
||||
name: "Marcus Thorne",
|
||||
role: "Litigation Lead",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-corrects-belt-fees-groom-man-s-hands-dressing-man-buttons-pants-jeans_8353-5893.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TeamSection />
|
||||
|
||||
<div id="testimonial" data-section="testimonial">
|
||||
<SectionErrorBoundary name="testimonial">
|
||||
<TestimonialTrustCard
|
||||
quote="Fashandi & Associates provided exceptional clarity and strategy in our most challenging business litigation. Their professionalism is unmatched."
|
||||
rating={5}
|
||||
author="CEO, GrowthTech Solutions"
|
||||
avatars={[
|
||||
{
|
||||
name: "Client 1",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-smiling-sitting-floor-white-wall_176420-8542.jpg",
|
||||
},
|
||||
{
|
||||
name: "Client 2",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-boss-sitting-with-newspaper-table_1098-3037.jpg",
|
||||
},
|
||||
{
|
||||
name: "Client 3",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/professional-woman-reading-reports_1098-137.jpg",
|
||||
},
|
||||
{
|
||||
name: "Client 4",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/alone-specialist-handsome-daydreaming-collar_1262-870.jpg",
|
||||
},
|
||||
{
|
||||
name: "Client 5",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/angry-man-with-crossed-arms_1187-3142.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Common Questions"
|
||||
title="Understanding Our Services"
|
||||
description="Get answers to your primary concerns regarding initial consultations, fee structures, and our legal approach."
|
||||
items={[
|
||||
{
|
||||
question: "What does an initial consultation involve?",
|
||||
answer: "We evaluate your case, discuss potential legal strategies, and provide an overview of the expected costs and outcomes.",
|
||||
},
|
||||
{
|
||||
question: "Do you offer flat-fee structures?",
|
||||
answer: "Certain services are offered on a flat-fee basis, while complex litigation is typically handled via standard hourly rates.",
|
||||
},
|
||||
{
|
||||
question: "How often will you communicate with me?",
|
||||
answer: "We provide regular status updates and ensure a direct line of communication with your lead attorney throughout the matter.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/real-estate-agents-studying-layout-high-class-office-space-building_482257-99610.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Get in Touch"
|
||||
text="Ready to discuss your legal requirements? Contact our firm today to schedule your confidential consultation."
|
||||
primaryButton={{
|
||||
text: "Call Firm",
|
||||
href: "tel:+15551234567",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Email Us",
|
||||
href: "mailto:info@fashandi.com",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
18
src/pages/HomePage/sections/About.tsx
Normal file
18
src/pages/HomePage/sections/About.tsx
Normal 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="At Fashandi & Associates, we combine years of technical expertise with deep industry insight to deliver innovative engineering solutions for your most critical infrastructure and development projects."
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Contact.tsx
Normal file
27
src/pages/HomePage/sections/Contact.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
// 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="Get in Touch"
|
||||
text="Ready to discuss your legal requirements? Contact our firm today to schedule your confidential consultation."
|
||||
primaryButton={{
|
||||
text: "Call Firm",
|
||||
href: "tel:+15551234567",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Email Us",
|
||||
href: "mailto:info@fashandi.com",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
22
src/pages/HomePage/sections/Faq.tsx
Normal file
22
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,22 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "faq" section.
|
||||
|
||||
import React from 'react';
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Common Questions"
|
||||
title="Understanding Our Services"
|
||||
description="Get answers to your primary concerns regarding initial assessments, project timelines, and our engineering approach."
|
||||
items={[{"question":"What does an initial project assessment involve?","answer":"We evaluate your project requirements, discuss potential engineering strategies, and provide an overview of the expected timelines and deliverables."},{"question":"Do you offer flat-fee structures?","answer":"Certain consulting services are offered on a flat-fee basis, while complex design and oversight projects are typically handled via standard hourly rates or phased contracts."},{"question":"How often will you communicate with me?","answer":"We provide regular status updates and ensure a direct line of communication with your lead engineer throughout the project lifecycle."}]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/real-estate-agents-studying-layout-high-class-office-space-building_482257-99610.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
21
src/pages/HomePage/sections/Features.tsx
Normal file
21
src/pages/HomePage/sections/Features.tsx
Normal file
@@ -0,0 +1,21 @@
|
||||
// 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="Our Expertise"
|
||||
title="Comprehensive Engineering Solutions"
|
||||
description="We specialize in navigating complex technical landscapes to ensure your projects are structurally sound, efficient, and compliant."
|
||||
items={[{"primaryButton":{"text":"Learn More","href":"#"},"imageSrc":"http://img.b2bpic.net/free-photo/engineers-working-construction-site_23-2148293910.jpg","tag":"Structural","title":"Structural Engineering","description":"Comprehensive structural analysis and design for commercial and residential developments."},{"primaryButton":{"text":"Learn More","href":"#"},"title":"Civil Engineering","description":"Expert guidance on site development, grading, and municipal infrastructure projects.","imageSrc":"http://img.b2bpic.net/free-photo/engineers-working-construction-site_23-2148293911.jpg","tag":"Civil"},{"tag":"MEP","imageSrc":"http://img.b2bpic.net/free-photo/engineers-working-construction-site_23-2148293912.jpg","description":"Innovative solutions for HVAC, plumbing, and electrical systems in modern buildings.","title":"MEP Engineering","primaryButton":{"href":"#","text":"Learn More"}}]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
29
src/pages/HomePage/sections/Hero.tsx
Normal file
29
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,29 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "hero" section.
|
||||
|
||||
import React from 'react';
|
||||
import HeroBillboardTiltedCarousel from '@/components/sections/hero/HeroBillboardTiltedCarousel';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboardTiltedCarousel
|
||||
tag="Premier Engineering Firm"
|
||||
title="Expert Engineering Solutions for Complex Challenges"
|
||||
description="Fashandi & Associates provides strategic, professional engineering solutions tailored to your specific infrastructure and development needs. Your success is our mission."
|
||||
primaryButton={{
|
||||
text: "Schedule Consultation",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Our Expertise",
|
||||
href: "#features",
|
||||
}}
|
||||
items={[{"imageSrc":"http://img.b2bpic.net/free-photo/female-engineers-working_23-2151657912.jpg"},{"imageSrc":"http://img.b2bpic.net/free-photo/engineer-working-with-blueprints_23-2148293909.jpg"},{"imageSrc":"http://img.b2bpic.net/free-photo/engineers-working-construction-site_23-2148293910.jpg"},{"imageSrc":"http://img.b2bpic.net/free-photo/engineers-working-construction-site_23-2148293911.jpg"},{"imageSrc":"http://img.b2bpic.net/free-photo/engineers-working-construction-site_23-2148293912.jpg"},{"imageSrc":"http://img.b2bpic.net/free-photo/engineers-working-construction-site_23-2148293913.jpg"}]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
21
src/pages/HomePage/sections/Team.tsx
Normal file
21
src/pages/HomePage/sections/Team.tsx
Normal file
@@ -0,0 +1,21 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "team" section.
|
||||
|
||||
import React from 'react';
|
||||
import TeamOverlayCards from '@/components/sections/team/TeamOverlayCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TeamSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="team" data-section="team">
|
||||
<SectionErrorBoundary name="team">
|
||||
<TeamOverlayCards
|
||||
tag="Leadership"
|
||||
title="Meet Our Partners"
|
||||
description="Dedicated engineers committed to your project's success and long-term structural integrity."
|
||||
members={[{"role":"Principal Engineer","name":"Alexander Fashandi","imageSrc":"http://img.b2bpic.net/free-photo/senior-businessman-with-arms-crossed-outside-modern-office-building_1139-1074.jpg"},{"role":"Lead Structural Engineer","name":"Sarah Jenkins","imageSrc":"http://img.b2bpic.net/free-photo/closeup-handsome-middle-aged-business-leader_1262-4822.jpg"},{"role":"Civil Engineering Director","name":"Marcus Thorne","imageSrc":"http://img.b2bpic.net/free-photo/man-corrects-belt-fees-groom-man-s-hands-dressing-man-buttons-pants-jeans_8353-5893.jpg"}]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
42
src/pages/HomePage/sections/Testimonial.tsx
Normal file
42
src/pages/HomePage/sections/Testimonial.tsx
Normal file
@@ -0,0 +1,42 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "testimonial" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonial" data-section="testimonial">
|
||||
<SectionErrorBoundary name="testimonial">
|
||||
<TestimonialTrustCard
|
||||
quote="Fashandi & Associates provided exceptional clarity and strategy in our most challenging infrastructure project. Their technical expertise is unmatched."
|
||||
rating={5}
|
||||
author="CEO, Urban Development Corp"
|
||||
avatars={[
|
||||
{
|
||||
name: "Client 1",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-girl-smiling-sitting-floor-white-wall_176420-8542.jpg",
|
||||
},
|
||||
{
|
||||
name: "Client 2",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-boss-sitting-with-newspaper-table_1098-3037.jpg",
|
||||
},
|
||||
{
|
||||
name: "Client 3",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/professional-woman-reading-reports_1098-137.jpg",
|
||||
},
|
||||
{
|
||||
name: "Client 4",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/alone-specialist-handsome-daydreaming-collar_1262-870.jpg",
|
||||
},
|
||||
{
|
||||
name: "Client 5",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/angry-man-with-crossed-arms_1187-3142.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user