Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-13 00:55:56 +00:00
2 changed files with 40 additions and 53 deletions

View File

@@ -20,7 +20,7 @@ export default function LandingPage() {
borderRadius="rounded"
contentWidth="mediumLarge"
sizing="largeSmallSizeMediumTitles"
background="aurora"
background="circleGradient"
cardStyle="subtle-shadow"
primaryButtonStyle="double-inset"
secondaryButtonStyle="radial-glow"
@@ -45,7 +45,7 @@ export default function LandingPage() {
<HeroBillboardRotatedCarousel
title="Your Health, Our Priority—Expert Care Made Simple"
description="Board-certified physician providing compassionate, personalized medical care. Schedule your appointment in minutes or learn more about our services."
background={{ variant: "aurora" }}
background={{ variant: "sparkles-gradient" }}
tag="Your Trusted Healthcare Partner"
tagIcon={Heart}
tagAnimation="slide-up"
@@ -55,12 +55,12 @@ export default function LandingPage() {
]}
buttonAnimation="slide-up"
carouselItems={[
{ id: "1", imageSrc: "http://img.b2bpic.net/free-photo/medic-doing-signature-checkup-papers-give-prescription-medicine-patient-woman-doctor-signing-documents-after-healthcare-consultation-giving-treatment-senior-man-with-disease_482257-38502.jpg?_wi=1", imageAlt: "professional doctor portrait white coat" },
{ id: "2", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-women-holding-hands_23-2149856241.jpg?_wi=1", imageAlt: "doctor examining patient clinical setting" },
{ id: "3", imageSrc: "http://img.b2bpic.net/free-photo/patient-ophthalmologist-s-office_23-2150923380.jpg?_wi=1", imageAlt: "medical consultation patient doctor office" },
{ id: "4", imageSrc: "http://img.b2bpic.net/free-photo/doctor-showing-bone-joints-patient_23-2148352053.jpg?_wi=1", imageAlt: "routine physical exam checkup" },
{ id: "5", imageSrc: "http://img.b2bpic.net/free-photo/male-doctor-talking-colleague-while-examining-xray-image-meeting_637285-11154.jpg?_wi=1", imageAlt: "doctor diagnostic imaging results" },
{ id: "6", imageSrc: "http://img.b2bpic.net/free-photo/medic-doing-signature-checkup-papers-give-prescription-medicine-patient-woman-doctor-signing-documents-after-healthcare-consultation-giving-treatment-senior-man-with-disease_482257-38502.jpg?_wi=2", imageAlt: "professional doctor portrait white coat" }
{ id: "1", imageSrc: "http://img.b2bpic.net/free-photo/medic-doing-signature-checkup-papers-give-prescription-medicine-patient-woman-doctor-signing-documents-after-healthcare-consultation-giving-treatment-senior-man-with-disease_482257-38502.jpg", imageAlt: "professional doctor portrait white coat" },
{ id: "2", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-women-holding-hands_23-2149856241.jpg", imageAlt: "doctor examining patient clinical setting" },
{ id: "3", imageSrc: "http://img.b2bpic.net/free-photo/patient-ophthalmologist-s-office_23-2150923380.jpg", imageAlt: "medical consultation patient doctor office" },
{ id: "4", imageSrc: "http://img.b2bpic.net/free-photo/doctor-showing-bone-joints-patient_23-2148352053.jpg", imageAlt: "routine physical exam checkup" },
{ id: "5", imageSrc: "http://img.b2bpic.net/free-photo/male-doctor-talking-colleague-while-examining-xray-image-meeting_637285-11154.jpg", imageAlt: "doctor diagnostic imaging results" },
{ id: "6", imageSrc: "http://img.b2bpic.net/free-photo/medic-doing-signature-checkup-papers-give-prescription-medicine-patient-woman-doctor-signing-documents-after-healthcare-consultation-giving-treatment-senior-man-with-disease_482257-38502.jpg", imageAlt: "professional doctor portrait white coat" }
]}
autoPlay={true}
autoPlayInterval={4000}
@@ -85,7 +85,7 @@ export default function LandingPage() {
{ title: "Evidence-Based Medicine", description: "We stay current with the latest medical research and best practices to provide optimal care.", icon: BookOpen },
{ title: "Compassionate Approach", description: "We listen to our patients' concerns and work together to achieve the best health outcomes.", icon: Heart }
]}
imageSrc="http://img.b2bpic.net/free-photo/medium-shot-women-holding-hands_23-2149856241.jpg?_wi=2"
imageSrc="http://img.b2bpic.net/free-photo/medium-shot-women-holding-hands_23-2149856241.jpg"
imageAlt="Professional portrait of board-certified physician"
mediaAnimation="slide-up"
imagePosition="right"
@@ -143,16 +143,16 @@ export default function LandingPage() {
tagAnimation="opacity"
metrics={[
{
id: "1", value: "15+", title: "Years Experience", description: "Dedicated to patient care and medical excellence", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-women-holding-hands_23-2149856241.jpg?_wi=3", imageAlt: "Years of medical experience"
id: "1", value: "15+", title: "Years Experience", description: "Dedicated to patient care and medical excellence", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-women-holding-hands_23-2149856241.jpg", imageAlt: "Years of medical experience"
},
{
id: "2", value: "2000+", title: "Satisfied Patients", description: "Building trust through quality healthcare", imageSrc: "http://img.b2bpic.net/free-photo/patient-ophthalmologist-s-office_23-2150923380.jpg?_wi=2", imageAlt: "Satisfied patients"
id: "2", value: "2000+", title: "Satisfied Patients", description: "Building trust through quality healthcare", imageSrc: "http://img.b2bpic.net/free-photo/patient-ophthalmologist-s-office_23-2150923380.jpg", imageAlt: "Satisfied patients"
},
{
id: "3", value: "98%", title: "Patient Satisfaction", description: "Committed to your health and wellbeing", imageSrc: "http://img.b2bpic.net/free-photo/doctor-showing-bone-joints-patient_23-2148352053.jpg?_wi=2", imageAlt: "Patient satisfaction rating"
id: "3", value: "98%", title: "Patient Satisfaction", description: "Committed to your health and wellbeing", imageSrc: "http://img.b2bpic.net/free-photo/doctor-showing-bone-joints-patient_23-2148352053.jpg", imageAlt: "Patient satisfaction rating"
},
{
id: "4", value: "24/7", title: "Patient Support", description: "Available for emergencies and urgent care", imageSrc: "http://img.b2bpic.net/free-photo/male-doctor-talking-colleague-while-examining-xray-image-meeting_637285-11154.jpg?_wi=2", imageAlt: "24/7 patient support"
id: "4", value: "24/7", title: "Patient Support", description: "Available for emergencies and urgent care", imageSrc: "http://img.b2bpic.net/free-photo/male-doctor-talking-colleague-while-examining-xray-image-meeting_637285-11154.jpg", imageAlt: "24/7 patient support"
}
]}
animationType="slide-up"
@@ -172,11 +172,11 @@ export default function LandingPage() {
testimonials={[
{
id: "1", name: "Sarah Johnson", role: "Patient", company: "Local Community", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-cafe_273609-12859.jpg?_wi=1", imageAlt: "Sarah Johnson"
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-cafe_273609-12859.jpg", imageAlt: "Sarah Johnson"
},
{
id: "2", name: "Michael Chen", role: "Patient", company: "Local Community", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-businessman-talking-partner_1262-1998.jpg?_wi=1", imageAlt: "Michael Chen"
imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-businessman-talking-partner_1262-1998.jpg", imageAlt: "Michael Chen"
},
{
id: "3", name: "Emily Rodriguez", role: "Patient", company: "Local Community", rating: 5,
@@ -188,11 +188,11 @@ export default function LandingPage() {
},
{
id: "5", name: "Jennifer Martinez", role: "Patient", company: "Local Community", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-cafe_273609-12859.jpg?_wi=2", imageAlt: "Jennifer Martinez"
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-woman-cafe_273609-12859.jpg", imageAlt: "Jennifer Martinez"
},
{
id: "6", name: "Robert Thompson", role: "Patient", company: "Local Community", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-businessman-talking-partner_1262-1998.jpg?_wi=2", imageAlt: "Robert Thompson"
imageSrc: "http://img.b2bpic.net/free-photo/smiling-senior-businessman-talking-partner_1262-1998.jpg", imageAlt: "Robert Thompson"
}
]}
gridVariant="uniform-all-items-equal"
@@ -244,7 +244,7 @@ export default function LandingPage() {
description="Receive helpful health tips, wellness advice, and important healthcare news delivered to your inbox. Stay informed about preventive care and our latest services."
tagIcon={Mail}
tagAnimation="opacity"
background={{ variant: "aurora" }}
background={{ variant: "sparkles-gradient" }}
useInvertedBackground={false}
imageSrc="http://img.b2bpic.net/free-photo/hand-holding-pen-close-up_23-2149191370.jpg"
imageAlt="Healthcare newsletter subscription"

View File

@@ -1,51 +1,38 @@
"use client";
import { memo } from "react";
import useSvgTextLogo from "./useSvgTextLogo";
import { cls } from "@/lib/utils";
import React from 'react';
interface SvgTextLogoProps {
logoText: string;
adjustHeightFactor?: number;
verticalAlign?: "top" | "center";
text: string;
className?: string;
fill?: string;
fontSize?: number;
fontFamily?: string;
}
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
logoText,
adjustHeightFactor,
verticalAlign = "top",
className = "",
}) {
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({
text,
className = '',
fill = 'currentColor',
fontSize = 32,
fontFamily = 'system-ui, -apple-system, sans-serif',
}) => {
return (
<svg
ref={svgRef}
viewBox={viewBox}
className={cls("w-full", className)}
style={{ aspectRatio: aspectRatio }}
preserveAspectRatio="none"
role="img"
aria-label={`${logoText} logo`}
viewBox={`0 0 ${text.length * fontSize * 0.6} ${fontSize * 1.5}`}
className={className}
xmlns="http://www.w3.org/2000/svg"
>
<text
ref={textRef}
x="0"
y={verticalAlign === "center" ? "50%" : "0"}
className="font-bold fill-current"
style={{
fontSize: "20px",
letterSpacing: "-0.02em",
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
}}
y={fontSize}
fontSize={fontSize}
fontFamily={fontFamily}
fill={fill}
dominantBaseline="hanging"
>
{logoText}
{text}
</text>
</svg>
);
});
SvgTextLogo.displayName = "SvgTextLogo";
};
export default SvgTextLogo;