7 Commits

Author SHA1 Message Date
bdbc80db17 Update src/app/services/page.tsx 2026-03-07 08:54:37 +00:00
9dc16adaa1 Update src/app/page.tsx 2026-03-07 08:54:36 +00:00
aced8893ce Add src/app/services/page.tsx 2026-03-07 08:53:50 +00:00
e863e52007 Merge version_2 into main
Merge version_2 into main
2026-03-07 08:49:43 +00:00
be091bd9ac Update src/app/page.tsx 2026-03-07 08:49:39 +00:00
6e55b5f309 Update src/app/layout.tsx 2026-03-07 08:49:38 +00:00
9f2f4c2f29 Merge version_1 into main
Merge version_1 into main
2026-03-07 08:44:47 +00:00
3 changed files with 313 additions and 64 deletions

View File

@@ -1,52 +1,33 @@
import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const halant = Halant({
variable: "--font-halant", subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
weight: ["100", "200", "300", "400", "500", "600", "700", "800", "900"],
});
export const metadata: Metadata = {
title: "Trusmile Dental Clinic | Luxury Dental Care in Surat", description: "Premium dental clinic in Surat offering advanced cosmetic dentistry, implants, and comprehensive dental care with expert dentists and modern technology.", keywords: "dental clinic Surat, best dentist Surat, teeth whitening, dental implants, root canal treatment, cosmetic dentistry, luxury dental care", metadataBase: new URL("https://trusmile-dental.com"),
alternates: {
canonical: "https://trusmile-dental.com"},
openGraph: {
title: "Trusmile Dental Clinic | Luxury Dental Care in Surat", description: "Experience premium dental healthcare with expert dentists and cutting-edge technology at Trusmile Dental Clinic in Surat.", url: "https://trusmile-dental.com", siteName: "Trusmile Dental Clinic", type: "website", images: [
{
url: "http://img.b2bpic.net/free-photo/full-equiped-medical-cabinet_1303-23918.jpg", alt: "Luxury dental clinic professional treatment"},
],
},
twitter: {
card: "summary_large_image", title: "Trusmile Dental Clinic | Premium Dental Care", description: "Advanced dental solutions and cosmetic treatments in Surat", images: ["http://img.b2bpic.net/free-photo/full-equiped-medical-cabinet_1303-23918.jpg"],
},
robots: {
index: true,
follow: true,
},
};
title: "Trusmile Dental Clinic - Precision Dentistry in Surat", description: "Advanced dental care and cosmetic smile solutions at Trusmile Dental Clinic in Surat. Experience luxury healthcare with cutting-edge technology and compassionate expertise."};
export default function RootLayout({
children,
}: Readonly<{
}: {
children: React.ReactNode;
}>) {
}) {
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${halant.variable} ${inter.variable} antialiased`}
>
<Tag />
{children}
<html lang="en">
<head>
<script
async
src="https://cdn.jsdelivr.net/npm/gsap@3.12.2/dist/gsap.min.js"
></script>
<script
async
src="https://cdn.jsdelivr.net/npm/gsap@3.12.2/dist/ScrollTrigger.min.js"
></script>
</head>
<body className={`${inter.variable} antialiased`}>{children}
<script
dangerouslySetInnerHTML={{
__html: `
@@ -1414,7 +1395,6 @@ export default function RootLayout({
}}
/>
</body>
</ServiceWrapper>
</html>
);
}

View File

@@ -8,10 +8,32 @@ import FeatureCardEight from "@/components/sections/feature/FeatureCardEight";
import MetricCardSeven from "@/components/sections/metrics/MetricCardSeven";
import TestimonialCardFifteen from "@/components/sections/testimonial/TestimonialCardFifteen";
import ContactText from "@/components/sections/contact/ContactText";
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
import { Award, Sparkles } from "lucide-react";
import FooterBase from "@/components/sections/footer/FooterBase";
import { Award, Sparkles, Phone, Mail, MapPin, Facebook, Twitter, Instagram, Linkedin } from "lucide-react";
export default function LandingPage() {
const handleCallClick = () => {
window.location.href = "tel:+919876543210";
};
const handleEmailClick = () => {
window.location.href = "mailto:info@trusmile.com";
};
const handleBookAppointment = () => {
const appointmentSection = document.getElementById("appointment");
if (appointmentSection) {
appointmentSection.scrollIntoView({ behavior: "smooth" });
}
};
const handleNavigateToSection = (sectionId: string) => {
const section = document.getElementById(sectionId);
if (section) {
section.scrollIntoView({ behavior: "smooth" });
}
};
return (
<ThemeProvider
defaultButtonVariant="expand-hover"
@@ -34,7 +56,9 @@ export default function LandingPage() {
{ name: "Why Us", id: "whyus" },
{ name: "Testimonials", id: "testimonials" },
]}
button={{ text: "Book Appointment", href: "appointment" }}
button={{
text: "Book Appointment", onClick: handleBookAppointment,
}}
animateOnLoad={true}
className="backdrop-blur-md bg-opacity-95"
navItemClassName="text-sm font-medium tracking-wide"
@@ -50,14 +74,14 @@ export default function LandingPage() {
tag="Premium Dental Care"
tagIcon={Sparkles}
tagAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/full-equiped-medical-cabinet_1303-23918.jpg"
imageSrc="http://img.b2bpic.net/free-photo/full-equiped-medical-cabinet_1303-23918.jpg?_wi=1"
imageAlt="Luxury dental clinic with professional dentist treatment"
textPosition="bottom-left"
showBlur={true}
showDimOverlay={true}
buttons={[
{ text: "Book Appointment", href: "appointment" },
{ text: "Call Clinic", href: "tel:+919876543210" },
{ text: "Book Appointment", onClick: handleBookAppointment },
{ text: "Call Clinic", onClick: handleCallClick },
]}
buttonAnimation="slide-up"
className="relative overflow-hidden"
@@ -77,7 +101,11 @@ export default function LandingPage() {
title="About Trusmile Dental Clinic"
description={[
"At Trusmile Dental Clinic in Surat, we combine decades of expertise with state-of-the-art dental technology to deliver exceptional patient care. Our team of experienced dentists is dedicated to creating comfortable, confident smiles through personalized treatment planning and advanced clinical techniques.", "We maintain the strictest hygiene standards and utilize cutting-edge equipment to ensure every patient receives the highest quality dental care. Our philosophy centers on patient comfort, transparent communication, and long-term oral health—making us the trusted choice for comprehensive dental solutions in Gujarat."]}
buttons={[{ text: "Learn More", href: "#services" }]}
buttons={[
{
text: "Learn More", onClick: () => handleNavigateToSection("services"),
},
]}
buttonAnimation="slide-up"
showBorder={true}
useInvertedBackground={false}
@@ -104,18 +132,22 @@ export default function LandingPage() {
features={[
{
id: 1,
title: "General Dentistry", description: "Routine dental checkups, oral examinations, and preventive care to maintain healthy teeth and gums.", imageSrc: "http://img.b2bpic.net/free-photo/stomatolog-holding-x-ray-senior-woman-sitting-orange-chair-dentist-cabinet-medical-teeth-care-taker-holding-patient-radiography-tablet-pc-near-patient-standing-up_482257-12549.jpg", imageAlt: "General dentistry examination and checkup"},
title: "General Dentistry", description: "Routine dental checkups, oral examinations, and preventive care to maintain healthy teeth and gums.", imageSrc: "http://img.b2bpic.net/free-photo/stomatolog-holding-x-ray-senior-woman-sitting-orange-chair-dentist-cabinet-medical-teeth-care-taker-holding-patient-radiography-tablet-pc-near-patient-standing-up_482257-12549.jpg?_wi=1", imageAlt: "General dentistry examination and checkup"},
{
id: 2,
title: "Teeth Cleaning & Polishing", description: "Professional cleaning to remove plaque, tartar, and stains while improving oral hygiene.", imageSrc: "http://img.b2bpic.net/free-photo/female-patient-receiving-dental-treatment_107420-65463.jpg", imageAlt: "Professional teeth cleaning and polishing treatment"},
title: "Teeth Cleaning & Polishing", description: "Professional cleaning to remove plaque, tartar, and stains while improving oral hygiene.", imageSrc: "http://img.b2bpic.net/free-photo/female-patient-receiving-dental-treatment_107420-65463.jpg?_wi=1", imageAlt: "Professional teeth cleaning and polishing treatment"},
{
id: 3,
title: "Dental Fillings", description: "Treatment for cavities using modern filling materials that restore tooth strength and appearance.", imageSrc: "http://img.b2bpic.net/free-photo/dentist-treats-childs-tooth-using-rubber-dam-closeup-tooth-treatment_169016-66792.jpg", imageAlt: "Dental filling cavity restoration treatment"},
title: "Dental Fillings", description: "Treatment for cavities using modern filling materials that restore tooth strength and appearance.", imageSrc: "http://img.b2bpic.net/free-photo/dentist-treats-childs-tooth-using-rubber-dam-closeup-tooth-treatment_169016-66792.jpg?_wi=1", imageAlt: "Dental filling cavity restoration treatment"},
{
id: 4,
title: "Root Canal Treatment", description: "Advanced treatment to remove infection from inside the tooth and save natural teeth.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-patient-mouth-undergoing-dental-check-up_107420-65610.jpg", imageAlt: "Root canal treatment procedure"},
title: "Root Canal Treatment", description: "Advanced treatment to remove infection from inside the tooth and save natural teeth.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-patient-mouth-undergoing-dental-check-up_107420-65610.jpg?_wi=1", imageAlt: "Root canal treatment procedure"},
]}
buttons={[
{
text: "View All Services", onClick: () => handleNavigateToSection("services"),
},
]}
buttons={[{ text: "View All Services", href: "#allservices" }]}
buttonAnimation="slide-up"
className="py-20"
containerClassName="max-w-7xl mx-auto px-6"
@@ -167,12 +199,18 @@ export default function LandingPage() {
rating={5}
author="Priya Sharma, Surat"
avatars={[
{ src: "http://img.b2bpic.net/free-photo/front-view-professional-business-woman-suit_23-2148603020.jpg", alt: "Patient testimonial avatar" },
{ src: "http://img.b2bpic.net/free-photo/portrait-happy-african-american-doctor-nursing-home_637285-11403.jpg", alt: "Patient testimonial avatar" },
{ src: "http://img.b2bpic.net/free-photo/young-woman-working-out-street_23-2148213172.jpg", alt: "Patient testimonial avatar" },
{ src: "http://img.b2bpic.net/free-photo/smiling-confident-manager-cafeteria_1098-20954.jpg", alt: "Patient testimonial avatar" },
{ src: "http://img.b2bpic.net/free-photo/portrait-beautiful-business-office-business-center_1303-20365.jpg", alt: "Patient testimonial avatar" },
{ src: "http://img.b2bpic.net/free-photo/man-putting-face-discomfort_1187-1592.jpg", alt: "Patient testimonial avatar" },
{
src: "http://img.b2bpic.net/free-photo/front-view-professional-business-woman-suit_23-2148603020.jpg", alt: "Patient testimonial avatar"},
{
src: "http://img.b2bpic.net/free-photo/portrait-happy-african-american-doctor-nursing-home_637285-11403.jpg", alt: "Patient testimonial avatar"},
{
src: "http://img.b2bpic.net/free-photo/young-woman-working-out-street_23-2148213172.jpg", alt: "Patient testimonial avatar"},
{
src: "http://img.b2bpic.net/free-photo/smiling-confident-manager-cafeteria_1098-20954.jpg", alt: "Patient testimonial avatar"},
{
src: "http://img.b2bpic.net/free-photo/portrait-beautiful-business-office-business-center_1303-20365.jpg", alt: "Patient testimonial avatar"},
{
src: "http://img.b2bpic.net/free-photo/man-putting-face-discomfort_1187-1592.jpg", alt: "Patient testimonial avatar"},
]}
ratingAnimation="slide-up"
avatarsAnimation="slide-up"
@@ -191,8 +229,10 @@ export default function LandingPage() {
text="Ready to transform your smile? Schedule your personalized consultation with our expert dentists today."
animationType="background-highlight"
buttons={[
{ text: "Book Appointment", href: "#appointmentform" },
{ text: "Call +91 98765 43210", href: "tel:+919876543210" },
{
text: "Book Appointment", onClick: handleBookAppointment,
},
{ text: "Call +91 98765 43210", onClick: handleCallClick },
]}
background={{ variant: "plain" }}
useInvertedBackground={false}
@@ -207,16 +247,51 @@ export default function LandingPage() {
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
<FooterBase
logoText="Trusmile"
leftLink={{ text: "Privacy Policy", href: "#" }}
rightLink={{ text: "Terms of Service", href: "#" }}
copyrightText="© 2025 Trusmile Dental Clinic. All rights reserved."
columns={[
{
title: "Services", items: [
{ label: "General Dentistry", onClick: () => handleNavigateToSection("services") },
{ label: "Cosmetic Dentistry", onClick: () => handleNavigateToSection("services") },
{ label: "Root Canal Treatment", onClick: () => handleNavigateToSection("services") },
{ label: "Dental Implants", onClick: () => handleNavigateToSection("services") },
],
},
{
title: "Company", items: [
{ label: "About Us", onClick: () => handleNavigateToSection("about") },
{ label: "Our Team", onClick: () => handleNavigateToSection("about") },
{ label: "Testimonials", onClick: () => handleNavigateToSection("testimonials") },
{
label: "Book Appointment", onClick: handleBookAppointment,
},
],
},
{
title: "Contact", items: [
{ label: "Phone: +91 98765 43210", onClick: handleCallClick },
{ label: "Email: info@trusmile.com", onClick: handleEmailClick },
{ label: "Address: Surat, Gujarat", href: "#" },
{ label: "Hours: Mon-Sat 9AM-8PM", href: "#" },
],
},
]}
onPrivacyClick={() => {
console.log("Privacy policy clicked");
}}
ariaLabel="Trusmile Dental Clinic footer"
className="bg-gradient-to-t from-charcoal to-transparent text-white"
wrapperClassName="py-16"
containerClassName="max-w-7xl mx-auto px-6 flex justify-between items-center"
logoClassName="text-2xl font-extrabold tracking-wider"
linkClassName="text-sm hover:text-gold transition-colors duration-300"
className="bg-slate-900 text-white"
containerClassName="max-w-7xl mx-auto px-6 py-16"
logoTextClassName="text-2xl font-extrabold tracking-wider mb-8"
columnsClassName="grid grid-cols-1 md:grid-cols-3 gap-12 mb-12"
columnClassName="space-y-4"
columnTitleClassName="text-lg font-semibold text-white"
columnItemClassName="text-sm text-gray-300 hover:text-white transition-colors duration-200"
copyrightContainerClassName="border-t border-gray-700 pt-8 flex flex-col md:flex-row justify-between items-center gap-4"
copyrightTextClassName="text-sm text-gray-400"
privacyButtonClassName="text-sm text-gray-300 hover:text-white transition-colors duration-200"
/>
</div>
</ThemeProvider>

194
src/app/services/page.tsx Normal file
View File

@@ -0,0 +1,194 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
import HeroOverlay from "@/components/sections/hero/HeroOverlay";
import FeatureCardEight from "@/components/sections/feature/FeatureCardEight";
import FooterBase from "@/components/sections/footer/FooterBase";
import { Sparkles } from "lucide-react";
export default function ServicesPage() {
const handleCallClick = () => {
window.location.href = "tel:+919876543210";
};
const handleEmailClick = () => {
window.location.href = "mailto:info@trusmile.com";
};
const handleBookAppointment = () => {
const appointmentSection = document.getElementById("services-section");
if (appointmentSection) {
appointmentSection.scrollIntoView({ behavior: "smooth" });
}
};
const handleNavigateToHome = () => {
window.location.href = "/";
};
const handleNavigateToSection = (sectionId: string) => {
const section = document.getElementById(sectionId);
if (section) {
section.scrollIntoView({ behavior: "smooth" });
}
};
return (
<ThemeProvider
defaultButtonVariant="expand-hover"
defaultTextAnimation="background-highlight"
borderRadius="pill"
contentWidth="medium"
sizing="largeSmallSizeLargeTitles"
background="circleGradient"
cardStyle="solid"
primaryButtonStyle="diagonal-gradient"
secondaryButtonStyle="layered"
headingFontWeight="extrabold"
>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
brandName="Trusmile"
navItems={[
{ name: "Services", id: "services" },
{ name: "About", id: "about" },
{ name: "Why Us", id: "whyus" },
{ name: "Testimonials", id: "testimonials" },
]}
button={{
text: "Book Appointment", onClick: handleBookAppointment,
}}
animateOnLoad={true}
className="backdrop-blur-md bg-opacity-95"
navItemClassName="text-sm font-medium tracking-wide"
buttonClassName="px-6 py-2.5 rounded-full font-semibold"
buttonTextClassName="text-sm"
/>
</div>
<div id="hero" data-section="hero">
<HeroOverlay
title="Advanced Dental Services"
description="Comprehensive dental treatments delivered with precision, care, and expertise. From preventive care to cosmetic solutions, we offer the full spectrum of modern dentistry."
tag="Our Services"
tagIcon={Sparkles}
tagAnimation="slide-up"
imageSrc="http://img.b2bpic.net/free-photo/full-equiped-medical-cabinet_1303-23918.jpg?_wi=2"
imageAlt="Advanced dental treatment facility"
textPosition="bottom-left"
showBlur={true}
showDimOverlay={true}
buttons={[
{ text: "Book Consultation", onClick: handleBookAppointment },
{ text: "Call Clinic", onClick: handleCallClick },
]}
buttonAnimation="slide-up"
className="relative overflow-hidden"
containerClassName="relative z-10"
textBoxClassName="space-y-6"
titleClassName="text-5xl md:text-7xl font-extrabold tracking-tight leading-tight"
descriptionClassName="text-lg md:text-xl leading-relaxed max-w-2xl"
tagClassName="inline-block px-4 py-2 rounded-full text-sm font-semibold"
buttonContainerClassName="flex gap-4 flex-wrap"
buttonClassName="px-8 py-3 rounded-full font-semibold transition-all duration-300"
buttonTextClassName="text-base font-semibold"
/>
</div>
<div id="services-section" data-section="services-section">
<FeatureCardEight
title="Complete Dental Solutions"
description="We provide a full range of dental services using state-of-the-art technology and evidence-based techniques to ensure optimal results and patient satisfaction."
tag="Premium Treatments"
tagIcon={Sparkles}
tagAnimation="slide-up"
textboxLayout="default"
useInvertedBackground={false}
features={[
{
id: 1,
title: "General Dentistry", description: "Routine dental checkups, oral examinations, cleaning, and preventive care to maintain healthy teeth and gums year-round.", imageSrc: "http://img.b2bpic.net/free-photo/stomatolog-holding-x-ray-senior-woman-sitting-orange-chair-dentist-cabinet-medical-teeth-care-taker-holding-patient-radiography-tablet-pc-near-patient-standing-up_482257-12549.jpg?_wi=2", imageAlt: "General dentistry examination and checkup"},
{
id: 2,
title: "Cosmetic Dentistry", description: "Teeth whitening, veneers, bonding, and smile makeovers to enhance your natural beauty and boost your confidence.", imageSrc: "http://img.b2bpic.net/free-photo/female-patient-receiving-dental-treatment_107420-65463.jpg?_wi=2", imageAlt: "Cosmetic dental treatment"},
{
id: 3,
title: "Dental Fillings & Restoration", description: "Modern filling materials and restoration techniques to treat cavities and restore tooth strength and appearance.", imageSrc: "http://img.b2bpic.net/free-photo/dentist-treats-childs-tooth-using-rubber-dam-closeup-tooth-treatment_169016-66792.jpg?_wi=2", imageAlt: "Dental filling cavity restoration treatment"},
{
id: 4,
title: "Root Canal Treatment", description: "Advanced endodontic treatment to remove infection from inside the tooth and save your natural tooth.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-patient-mouth-undergoing-dental-check-up_107420-65610.jpg?_wi=2", imageAlt: "Root canal treatment procedure"},
{
id: 5,
title: "Dental Implants", description: "Permanent tooth replacement solutions using cutting-edge implant technology for a natural-looking smile.", imageSrc: "http://img.b2bpic.net/free-photo/full-equiped-medical-cabinet_1303-23918.jpg?_wi=3", imageAlt: "Dental implant procedure"},
{
id: 6,
title: "Orthodontics", description: "Professional teeth straightening services including braces and clear aligners for a perfectly aligned smile.", imageSrc: "http://img.b2bpic.net/free-photo/stomatolog-holding-x-ray-senior-woman-sitting-orange-chair-dentist-cabinet-medical-teeth-care-taker-holding-patient-radiography-tablet-pc-near-patient-standing-up_482257-12549.jpg?_wi=3", imageAlt: "Orthodontic treatment"},
]}
buttons={[
{
text: "Schedule Appointment", onClick: handleBookAppointment,
},
]}
buttonAnimation="slide-up"
className="py-20"
containerClassName="max-w-7xl mx-auto px-6"
textBoxTitleClassName="text-5xl md:text-6xl font-extrabold mb-4"
textBoxDescriptionClassName="text-lg text-gray-700 mb-12"
cardClassName="bg-white rounded-2xl p-8 shadow-lg hover:shadow-2xl transition-shadow duration-300"
progressBarClassName="h-1 bg-gradient-to-r rounded-full"
stepNumberClassName="w-12 h-12 rounded-full flex items-center justify-center font-bold text-lg"
/>
</div>
<div id="footer" data-section="footer">
<FooterBase
logoText="Trusmile"
copyrightText="© 2025 Trusmile Dental Clinic. All rights reserved."
columns={[
{
title: "Services", items: [
{ label: "General Dentistry", onClick: () => handleNavigateToSection("services-section") },
{ label: "Cosmetic Dentistry", onClick: () => handleNavigateToSection("services-section") },
{ label: "Root Canal Treatment", onClick: () => handleNavigateToSection("services-section") },
{ label: "Dental Implants", onClick: () => handleNavigateToSection("services-section") },
],
},
{
title: "Company", items: [
{ label: "Home", onClick: handleNavigateToHome },
{ label: "About Us", onClick: handleNavigateToHome },
{ label: "Testimonials", onClick: handleNavigateToHome },
{
label: "Book Appointment", onClick: handleBookAppointment,
},
],
},
{
title: "Contact", items: [
{ label: "Phone: +91 98765 43210", onClick: handleCallClick },
{ label: "Email: info@trusmile.com", onClick: handleEmailClick },
{ label: "Address: Surat, Gujarat", href: "#" },
{ label: "Hours: Mon-Sat 9AM-8PM", href: "#" },
],
},
]}
onPrivacyClick={() => {
console.log("Privacy policy clicked");
}}
ariaLabel="Trusmile Dental Clinic footer"
className="bg-slate-900 text-white"
containerClassName="max-w-7xl mx-auto px-6 py-16"
logoTextClassName="text-2xl font-extrabold tracking-wider mb-8"
columnsClassName="grid grid-cols-1 md:grid-cols-3 gap-12 mb-12"
columnClassName="space-y-4"
columnTitleClassName="text-lg font-semibold text-white"
columnItemClassName="text-sm text-gray-300 hover:text-white transition-colors duration-200"
copyrightContainerClassName="border-t border-gray-700 pt-8 flex flex-col md:flex-row justify-between items-center gap-4"
copyrightTextClassName="text-sm text-gray-400"
privacyButtonClassName="text-sm text-gray-300 hover:text-white transition-colors duration-200"
/>
</div>
</ThemeProvider>
);
}