35 Commits

Author SHA1 Message Date
1d9349c15d Update src/app/page.tsx 2026-03-06 00:18:00 +00:00
e92f8bfe99 Update src/app/layout.tsx 2026-03-06 00:18:00 +00:00
51e34f4b29 Merge version_6 into main
Merge version_6 into main
2026-03-06 00:15:00 +00:00
812ca9ef84 Update src/app/page.tsx 2026-03-06 00:14:56 +00:00
55ed7a7d9f Merge version_6 into main
Merge version_6 into main
2026-03-06 00:13:13 +00:00
605f8bdf62 Update src/app/page.tsx 2026-03-06 00:13:09 +00:00
87bec05b7e Merge version_6 into main
Merge version_6 into main
2026-03-06 00:11:32 +00:00
43c9bc334a Update src/app/page.tsx 2026-03-06 00:11:28 +00:00
13e2614fdb Update src/app/layout.tsx 2026-03-06 00:11:27 +00:00
4a6a6f1a7f Merge version_6 into main
Merge version_6 into main
2026-03-06 00:09:40 +00:00
fbe218e325 Update src/app/page.tsx 2026-03-06 00:09:36 +00:00
52b726e20a Merge version_6 into main
Merge version_6 into main
2026-03-06 00:07:54 +00:00
3124ddf4bf Update src/app/page.tsx 2026-03-06 00:07:50 +00:00
a3a623d06a Merge version_6 into main
Merge version_6 into main
2026-03-06 00:06:07 +00:00
21bec54d83 Update src/app/page.tsx 2026-03-06 00:06:03 +00:00
9dbcf34068 Merge version_6 into main
Merge version_6 into main
2026-03-06 00:04:21 +00:00
d43a1af899 Update src/app/page.tsx 2026-03-06 00:04:11 +00:00
203283c134 Merge version_6 into main
Merge version_6 into main
2026-03-06 00:02:25 +00:00
fa437999a3 Update src/app/page.tsx 2026-03-06 00:02:21 +00:00
18959feb6a Merge version_6 into main
Merge version_6 into main
2026-03-06 00:00:38 +00:00
4a97a8eaf9 Update src/app/page.tsx 2026-03-06 00:00:34 +00:00
43bee4235f Update src/app/layout.tsx 2026-03-06 00:00:34 +00:00
e14e26ec5b Merge version_3 into main
Merge version_3 into main
2026-03-05 23:57:45 +00:00
abc34c7bb7 Update theme fonts 2026-03-05 23:57:41 +00:00
67adf66cd9 Update theme fonts 2026-03-05 23:57:41 +00:00
70055d040a Switch to version 3: modified src/app/page.tsx 2026-03-05 23:56:07 +00:00
53692691ca Switch to version 4: modified src/app/page.tsx 2026-03-05 23:56:00 +00:00
4c56d54f72 Switch to version 4: modified src/app/layout.tsx 2026-03-05 23:56:00 +00:00
3ed757eeb7 Merge version_5 into main
Merge version_5 into main
2026-03-05 23:06:34 +00:00
6ecb80f5f1 Update src/app/page.tsx 2026-03-05 23:06:29 +00:00
a91830f1d8 Merge version_5 into main
Merge version_5 into main
2026-03-05 23:04:50 +00:00
86f3a04a34 Update src/app/page.tsx 2026-03-05 23:04:46 +00:00
4493b29637 Update src/app/layout.tsx 2026-03-05 23:04:45 +00:00
7b760bc1de Merge version_4 into main
Merge version_4 into main
2026-03-05 22:56:24 +00:00
84791df8f1 Merge version_4 into main
Merge version_4 into main
2026-03-05 22:54:36 +00:00
3 changed files with 32 additions and 43 deletions

View File

@@ -1,15 +1,11 @@
import type { Metadata } from "next";
import { Manrope } from "next/font/google";
import "./styles/variables.css";
import { Raleway } from "next/font/google";
import "./globals.css";
const manrope = Manrope({
variable: "--font-manrope", subsets: ["latin"],
});
const raleway = Raleway({ subsets: ["latin"] });
export const metadata: Metadata = {
title: "Taishan Construction | Premium Hardscape & Building Services Toronto", description: "Premium interlock driveways, patios, landscaping & construction services across the GTA. Free 3D design, expert installation, luxury results."
};
title: "Taishan Construction - Premium Hardscape & Construction Services Toronto", description: "Premium landscaping and construction services across the GTA. Free 3D design, professional installation, material showroom."};
export default function RootLayout({
children,
@@ -18,9 +14,7 @@ export default function RootLayout({
}) {
return (
<html lang="en">
<body className={`${manrope.variable} antialiased`}>
{children}
<body className={raleway.className}>{children}
<script
dangerouslySetInnerHTML={{
__html: `

View File

@@ -2,15 +2,17 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
import HeroSplitDualMedia from '@/components/sections/hero/HeroSplitDualMedia';
import SplitAbout from '@/components/sections/about/SplitAbout';
import FeatureHoverPattern from '@/components/sections/feature/featureHoverPattern/FeatureHoverPattern';
import BlogCardThree from '@/components/sections/blog/BlogCardThree';
import MetricCardTen from '@/components/sections/metrics/MetricCardTen';
import TestimonialCardTen from '@/components/sections/testimonial/TestimonialCardTen';
import ContactFaq from '@/components/sections/contact/ContactFaq';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
import { Building2, Eye, CheckCircle2, Palette, Users, MessageCircle, Sparkles, ArrowRightLeft, Cog, Footprints, Home, Zap, Shield, Hammer, Trees, Droplet, Frame, Lightbulb, Crown, Phone, Calendar } from 'lucide-react';
import { Building2, Eye, CheckCircle2, Palette, Users, MessageCircle, Sparkles, ArrowRightLeft, Cog, Footprints, Home, Zap, Shield, Hammer, Trees, Droplet, Frame, Lightbulb, Crown, Phone } from 'lucide-react';
import React, { useState } from 'react';
import Link from 'next/link';
interface BeforeAfterImagePair {
beforeSrc: string;
@@ -98,7 +100,7 @@ export default function LandingPage() {
secondaryButtonStyle="glass"
headingFontWeight="bold"
>
<div id="nav" data-section="nav" className="fixed top-0 left-0 right-0 z-50">
<div id="nav" data-section="nav">
<NavbarStyleApple
brandName="Taishan"
navItems={[
@@ -108,14 +110,11 @@ export default function LandingPage() {
{ name: "Process", id: "process" },
{ name: "Contact", id: "contact" }
]}
button={{
text: "Book Appointment Now", href: "#contact"
}}
/>
</div>
<div id="hero" data-section="hero" className="pt-20">
<HeroBillboardCarousel
<div id="hero" data-section="hero">
<HeroSplitDualMedia
title="Toronto's Trusted Interlock & Construction Specialists"
description="Premium landscaping and construction services across the GTA. Designed with precision. Built to last."
tag="Luxury Construction"
@@ -127,24 +126,18 @@ export default function LandingPage() {
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXh5KliD4l7rWjrQZkOq7ZuPnH/uploaded-1772749929936-uklcyhsf.jpg?_wi=1", imageAlt: "Luxury construction detail"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXh5KliD4l7rWjrQZkOq7ZuPnH/uploaded-1772749929936-ok3joqnq.jpg?_wi=1", imageAlt: "Construction detail"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXh5KliD4l7rWjrQZkOq7ZuPnH/uploaded-1772749929936-heyeujvs.jpg?_wi=1", imageAlt: "Project showcase"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXh5KliD4l7rWjrQZkOq7ZuPnH/uploaded-1772751184333-vby3bqvq.png", imageAlt: "Taishan Gallery"
}
]}
rating={5}
ratingText="1000+ Projects Completed"
buttons={[
{ text: "Get Your Free 3D Design", href: "#contact" },
{ text: "Visit Our Showroom", href: "#showroom" }
]}
buttonAnimation="slide-up"
mediaAnimation="slide-up"
tagAnimation="slide-up"
containerClassName="max-w-full"
textBoxClassName="max-w-2xl"
titleClassName="text-5xl lg:text-6xl font-bold leading-tight tracking-tight"
descriptionClassName="text-lg lg:text-xl leading-relaxed"
tagClassName="inline-flex items-center gap-2 font-semibold uppercase tracking-wider"
@@ -153,9 +146,9 @@ export default function LandingPage() {
<div id="taishan-effect" data-section="taishan-effect">
<SplitAbout
title="Why Choose Taishan"
description="Premium quality, professional service, and guaranteed satisfaction for every project."
tag="The Taishan Advantage"
title="The Taishan Effect"
description="Why homeowners choose Taishan Construction for their premium hardscape and construction projects."
tag="Why Choose Taishan"
tagAnimation="slide-up"
textboxLayout="default"
useInvertedBackground={false}
@@ -163,13 +156,19 @@ export default function LandingPage() {
mediaAnimation="slide-up"
bulletPoints={[
{
title: "6-Year Warranty", description: "Complete coverage and peace of mind on all materials and workmanship", icon: Shield
title: "Free 3D Project Visualization", description: "See your complete project before construction begins with our professional rendering service", icon: Eye
},
{
title: "10,000 sq ft Showroom", description: "Explore real samples and design options in person to make confident selections", icon: Building2
title: "Professional Project Planning", description: "Detailed timelines, material specifications, and structured installation processes", icon: CheckCircle2
},
{
title: "Free 3D Design Technology", description: "See your complete project before construction begins with professional renderings", icon: Eye
title: "Outdoor Material Showroom", description: "Explore real samples and design options in person to make confident material selections", icon: Palette
},
{
title: "Experienced Installation Teams", description: "Certified professionals with years of expertise in premium hardscape installation", icon: Users
},
{
title: "Clear Communication & Timelines", description: "Transparent updates throughout your project with professional project management", icon: MessageCircle
}
]}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AXh5KliD4l7rWjrQZkOq7ZuPnH/uploaded-1772749929936-ok3joqnq.jpg?_wi=1"
@@ -184,8 +183,8 @@ export default function LandingPage() {
<div id="3d-design" data-section="3d-design">
<FeatureHoverPattern
title="Experience Breathtaking 3D Design Technology"
description="Taishan Construction offers complimentary 3D project renderings with a custom client portal where you can view your design, track progress, and access project documents anytime, anywhere. Visualize your driveway, backyard, or porch before construction begins with crystal-clear photorealistic renderings."
title="See Your Project Before We Build It"
description="Taishan Construction offers complimentary 3D project renderings so you can visualize your driveway, backyard, or porch before construction begins. This allows homeowners to make confident decisions before investing in their project."
tag="3D Design Technology"
tagIcon={Sparkles}
tagAnimation="slide-up"
@@ -194,10 +193,6 @@ export default function LandingPage() {
icon: Eye,
title: "Photorealistic Renderings", description: "Crystal-clear 3D visualizations showing materials, lighting, landscaping, and final details", button: { text: "Get Free 3D Design", href: "#contact" }
},
{
icon: Calendar,
title: "Custom Client Portal", description: "Access your project anytime with dedicated portal for designs, progress updates, and documentation"
},
{
icon: ArrowRightLeft,
title: "Before & After Comparisons", description: "Side-by-side views showing current property and your completed dream project transformation"
@@ -453,7 +448,7 @@ export default function LandingPage() {
<div id="contact" data-section="contact">
<ContactFaq
ctaTitle="Ready to Transform Your Property?"
ctaDescription="Book a consultation and receive a free 3D preview of your project."
ctaDescription="Start your project with a free consultation and photorealistic 3D rendering."
ctaButton={{
text: "Get Free 3D Design", href: "mailto:info@taishanconstruction.com?subject=Free%203D%20Design%20Consultation"
}}

View File

@@ -11,7 +11,7 @@ html {
body {
background-color: var(--background);
color: var(--foreground);
font-family: var(--font-montserrat), sans-serif;
font-family: var(--font-open-sans), sans-serif;
position: relative;
min-height: 100vh;
overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4,
h5,
h6 {
font-family: var(--font-montserrat), sans-serif;
font-family: var(--font-inter), sans-serif;
}