Merge version_1 into main #2
@@ -34,7 +34,8 @@ export default function LandingPage() {
|
||||
{ name: "Contact", id: "contact" },
|
||||
]}
|
||||
button={{
|
||||
text: "Appeler Maintenant", href: "tel:+21305585333"}}
|
||||
text: "Appeler Maintenant", href: "tel:+21305585333"
|
||||
}}
|
||||
animateOnLoad={true}
|
||||
/>
|
||||
</div>
|
||||
@@ -45,26 +46,32 @@ export default function LandingPage() {
|
||||
description="Soins dentaires modernes dans un cabinet propre, professionnel et accueillant. Des services de qualité pour toute votre famille."
|
||||
tag="Cabinet Dentaire Bezzina"
|
||||
tagIcon={Sparkles}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/empty-medical-office-with-computers-diagnostic-tools-set-up_482257-118503.jpg?_wi=1"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/empty-medical-office-with-computers-diagnostic-tools-set-up_482257-118503.jpg"
|
||||
imageAlt="Cabinet Dentaire Bezzina - Intérieur moderne et accueillant"
|
||||
mediaAnimation="slide-up"
|
||||
buttons={[
|
||||
{
|
||||
text: "📞 Appeler Maintenant", href: "tel:+21305585333"},
|
||||
text: "📞 Appeler Maintenant", href: "tel:+21305585333"
|
||||
},
|
||||
{
|
||||
text: "📅 Prendre Rendez-vous", href: "#contact"},
|
||||
text: "📅 Prendre Rendez-vous", href: "#contact"
|
||||
},
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
background={{ variant: "plain" }}
|
||||
testimonials={[
|
||||
{
|
||||
name: "Fatima B.", handle: "Patient satisfait", testimonial: "Cabinet très propre, dentistes compétents et accueil chaleureux. Je recommande vivement!", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/patient-consulting-doctor_1170-2107.jpg?_wi=1", imageAlt: "Fatima Bouachia"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/patient-consulting-doctor_1170-2107.jpg", imageAlt: "Fatima Bouachia"
|
||||
},
|
||||
{
|
||||
name: "Ahmed M.", handle: "Patient régulier", testimonial: "Professionnel, hygiène impeccable et tarifs justes. Excellent service!", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/shot-beautiful-young-businesswoman-wearing-blue-chiffon-shirt-while-standing-with-folded-arms-black-wall_158595-6868.jpg?_wi=1", imageAlt: "Ahmed Medjahed"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/shot-beautiful-young-businesswoman-wearing-blue-chiffon-shirt-while-standing-with-folded-arms-black-wall_158595-6868.jpg", imageAlt: "Ahmed Medjahed"
|
||||
},
|
||||
{
|
||||
name: "Leila D.", handle: "Patient nouveau", testimonial: "Stérilisation parfaite et soins de qualité. Dr. Bezzina très attentif et professionnel.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-handsome-businessman_1262-21003.jpg?_wi=1", imageAlt: "Leila Derradji"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-handsome-businessman_1262-21003.jpg", imageAlt: "Leila Derradji"
|
||||
},
|
||||
]}
|
||||
testimonialRotationInterval={5000}
|
||||
useInvertedBackground={false}
|
||||
@@ -80,22 +87,28 @@ export default function LandingPage() {
|
||||
features={[
|
||||
{
|
||||
title: "Consultation Dentaire", description: "Évaluation complète de votre santé bucco-dentaire avec plan de traitement personnalisé", imageSrc: "http://img.b2bpic.net/free-photo/young-female-dentist-showing-patient-dental-xray-dentistry-concept_169016-66978.jpg", imageAlt: "Consultation dentaire professionnelle", buttonIcon: ArrowRight,
|
||||
buttonHref: "#contact"},
|
||||
buttonHref: "#contact"
|
||||
},
|
||||
{
|
||||
title: "Détartrage & Nettoyage", description: "Détartrage professionnel pour éliminer le tartre et maintenir une hygiène optimale", imageSrc: "http://img.b2bpic.net/free-photo/young-female-dentist-work-dentistry-treatment-teeth_169016-67256.jpg?_wi=1", imageAlt: "Nettoyage et détartrage dentaire", buttonIcon: ArrowRight,
|
||||
buttonHref: "#contact"},
|
||||
title: "Détartrage & Nettoyage", description: "Détartrage professionnel pour éliminer le tartre et maintenir une hygiène optimale", imageSrc: "http://img.b2bpic.net/free-photo/young-female-dentist-work-dentistry-treatment-teeth_169016-67256.jpg", imageAlt: "Nettoyage et détartrage dentaire", buttonIcon: ArrowRight,
|
||||
buttonHref: "#contact"
|
||||
},
|
||||
{
|
||||
title: "Blanchiment Dentaire", description: "Traitement de blanchiment professionnel pour un sourire plus blanc et éclatant", imageSrc: "http://img.b2bpic.net/free-photo/smiley-woman-with-backpack-outdoors-adventure_23-2148648063.jpg", imageAlt: "Blanchiment dentaire professionnel", buttonIcon: ArrowRight,
|
||||
buttonHref: "#contact"},
|
||||
buttonHref: "#contact"
|
||||
},
|
||||
{
|
||||
title: "Soins des Caries", description: "Détection et traitement des caries avec techniques modernes et matériaux de qualité", imageSrc: "http://img.b2bpic.net/free-photo/young-female-dentist-work-dentistry-treatment-teeth_169016-67256.jpg?_wi=2", imageAlt: "Traitement des caries", buttonIcon: ArrowRight,
|
||||
buttonHref: "#contact"},
|
||||
title: "Soins des Caries", description: "Détection et traitement des caries avec techniques modernes et matériaux de qualité", imageSrc: "http://img.b2bpic.net/free-photo/young-female-dentist-work-dentistry-treatment-teeth_169016-67256.jpg", imageAlt: "Traitement des caries", buttonIcon: ArrowRight,
|
||||
buttonHref: "#contact"
|
||||
},
|
||||
{
|
||||
title: "Extraction Dentaire", description: "Extraction dentaire sûre et confortable avec protocoles de stérilisation stricts", imageSrc: "http://img.b2bpic.net/free-photo/female-dentist-holding-dental-model-hands-concept-dentistry-dental-treatment_169016-67188.jpg?_wi=1", imageAlt: "Équipement dentaire stérilisé", buttonIcon: ArrowRight,
|
||||
buttonHref: "#contact"},
|
||||
title: "Extraction Dentaire", description: "Extraction dentaire sûre et confortable avec protocoles de stérilisation stricts", imageSrc: "http://img.b2bpic.net/free-photo/female-dentist-holding-dental-model-hands-concept-dentistry-dental-treatment_169016-67188.jpg", imageAlt: "Équipement dentaire stérilisé", buttonIcon: ArrowRight,
|
||||
buttonHref: "#contact"
|
||||
},
|
||||
{
|
||||
title: "Urgences Dentaires", description: "Service d'urgence disponible pour les douleurs dentaires aigues et les problèmes imprévus", imageSrc: "http://img.b2bpic.net/free-photo/empty-medical-office-with-computers-diagnostic-tools-set-up_482257-118503.jpg?_wi=2", imageAlt: "Urgence dentaire 24h", buttonIcon: ArrowRight,
|
||||
buttonHref: "tel:+21305585333"},
|
||||
title: "Urgences Dentaires", description: "Service d'urgence disponible pour les douleurs dentaires aigues et les problèmes imprévus", imageSrc: "http://img.b2bpic.net/free-photo/empty-medical-office-with-computers-diagnostic-tools-set-up_482257-118503.jpg", imageAlt: "Urgence dentaire 24h", buttonIcon: ArrowRight,
|
||||
buttonHref: "tel:+21305585333"
|
||||
},
|
||||
]}
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
@@ -108,13 +121,15 @@ export default function LandingPage() {
|
||||
description="Notre cabinet offre un environnement moderne et stérilisé où votre confort et votre santé sont nos priorités. Avec des années d'expérience et l'utilisation des meilleures techniques dentaires, nous garantissons des soins de qualité pour toute votre famille."
|
||||
tag="À Propos du Cabinet"
|
||||
tagIcon={Heart}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/female-dentist-holding-dental-model-hands-concept-dentistry-dental-treatment_169016-67188.jpg?_wi=2"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/female-dentist-holding-dental-model-hands-concept-dentistry-dental-treatment_169016-67188.jpg"
|
||||
imageAlt="Équipement moderne du cabinet dentaire"
|
||||
buttons={[
|
||||
{
|
||||
text: "📅 Prendre Rendez-vous", href: "#contact"},
|
||||
text: "📅 Prendre Rendez-vous", href: "#contact"
|
||||
},
|
||||
{
|
||||
text: "📍 Itinéraire", href: "https://maps.google.com/?q=11+Av.+Mustapha+Benboulaid+Blida+Algeria"},
|
||||
text: "📍 Itinéraire", href: "https://maps.google.com/?q=11+Av.+Mustapha+Benboulaid+Blida+Algeria"
|
||||
},
|
||||
]}
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
@@ -130,13 +145,17 @@ export default function LandingPage() {
|
||||
useInvertedBackground={false}
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", title: "Cabinet Très Professionnel", quote: "Cabinet très propre, dentistes compétents et accueil chaleureux. Je recommande vivement Cabinet Dentaire Bezzina!", name: "Fatima Bouachia", role: "Patient satisfait", imageSrc: "http://img.b2bpic.net/free-photo/patient-consulting-doctor_1170-2107.jpg?_wi=2", imageAlt: "Fatima Bouachia"},
|
||||
id: "1", title: "Cabinet Très Professionnel", quote: "Cabinet très propre, dentistes compétents et accueil chaleureux. Je recommande vivement Cabinet Dentaire Bezzina!", name: "Fatima Bouachia", role: "Patient satisfait", imageSrc: "http://img.b2bpic.net/free-photo/patient-consulting-doctor_1170-2107.jpg", imageAlt: "Fatima Bouachia"
|
||||
},
|
||||
{
|
||||
id: "2", title: "Hygiène Impeccable", quote: "Professionnel, hygiène impeccable et tarifs justes. Excellent service et très attentif. Je vais revenir avec confiance!", name: "Ahmed Medjahed", role: "Patient régulier", imageSrc: "http://img.b2bpic.net/free-photo/shot-beautiful-young-businesswoman-wearing-blue-chiffon-shirt-while-standing-with-folded-arms-black-wall_158595-6868.jpg?_wi=2", imageAlt: "Ahmed Medjahed"},
|
||||
id: "2", title: "Hygiène Impeccable", quote: "Professionnel, hygiène impeccable et tarifs justes. Excellent service et très attentif. Je vais revenir avec confiance!", name: "Ahmed Medjahed", role: "Patient régulier", imageSrc: "http://img.b2bpic.net/free-photo/shot-beautiful-young-businesswoman-wearing-blue-chiffon-shirt-while-standing-with-folded-arms-black-wall_158595-6868.jpg", imageAlt: "Ahmed Medjahed"
|
||||
},
|
||||
{
|
||||
id: "3", title: "Soins de Qualité", quote: "Stérilisation parfaite et soins de qualité. Dr. Bezzina très attentif et professionnel. Hautement recommandé!", name: "Leila Derradji", role: "Patient nouveau", imageSrc: "http://img.b2bpic.net/free-photo/cheerful-handsome-businessman_1262-21003.jpg?_wi=2", imageAlt: "Leila Derradji"},
|
||||
id: "3", title: "Soins de Qualité", quote: "Stérilisation parfaite et soins de qualité. Dr. Bezzina très attentif et professionnel. Hautement recommandé!", name: "Leila Derradji", role: "Patient nouveau", imageSrc: "http://img.b2bpic.net/free-photo/cheerful-handsome-businessman_1262-21003.jpg", imageAlt: "Leila Derradji"
|
||||
},
|
||||
{
|
||||
id: "4", title: "Expérience Rassurante", quote: "Environnement calme et rassurant. L'équipe médicale est très professionnelle et attentionnée. Merci beaucoup!", name: "Mourad Khelafi", role: "Patient satisfait", imageSrc: "http://img.b2bpic.net/free-photo/portrait-female-business-executive-standing-with-arms-crossed_1170-780.jpg", imageAlt: "Mourad Khelafi"},
|
||||
id: "4", title: "Expérience Rassurante", quote: "Environnement calme et rassurant. L'équipe médicale est très professionnelle et attentionnée. Merci beaucoup!", name: "Mourad Khelafi", role: "Patient satisfait", imageSrc: "http://img.b2bpic.net/free-photo/portrait-female-business-executive-standing-with-arms-crossed_1170-780.jpg", imageAlt: "Mourad Khelafi"
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
@@ -149,9 +168,11 @@ export default function LandingPage() {
|
||||
description="Contactez-nous dès aujourd'hui pour un rendez-vous dans notre cabinet moderne et accueillant. Notre équipe est disponible pour répondre à toutes vos questions."
|
||||
buttons={[
|
||||
{
|
||||
text: "📞 Appeler: 0558 55 33 93", href: "tel:+21305585333"},
|
||||
text: "📞 Appeler: 0558 55 33 93", href: "tel:+21305585333"
|
||||
},
|
||||
{
|
||||
text: "📍 Voir Localisation", href: "https://maps.google.com/?q=11+Av.+Mustapha+Benboulaid+Blida+Algeria"},
|
||||
text: "📍 Voir Localisation", href: "https://maps.google.com/?q=11+Av.+Mustapha+Benboulaid+Blida+Algeria"
|
||||
},
|
||||
]}
|
||||
background={{ variant: "plain" }}
|
||||
useInvertedBackground={false}
|
||||
@@ -162,9 +183,11 @@ export default function LandingPage() {
|
||||
<FooterLogoReveal
|
||||
logoText="Cabinet Dentaire Bezzina"
|
||||
leftLink={{
|
||||
text: "Politique de Confidentialité", href: "#"}}
|
||||
text: "Politique de Confidentialité", href: "#"
|
||||
}}
|
||||
rightLink={{
|
||||
text: "Conditions d'Utilisation", href: "#"}}
|
||||
text: "Conditions d'Utilisation", href: "#"
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
|
||||
@@ -1,51 +1,42 @@
|
||||
"use client";
|
||||
import React from 'react';
|
||||
|
||||
import { memo } from "react";
|
||||
import useSvgTextLogo from "./useSvgTextLogo";
|
||||
import { cls } from "@/lib/utils";
|
||||
|
||||
interface SvgTextLogoProps {
|
||||
logoText: string;
|
||||
adjustHeightFactor?: number;
|
||||
verticalAlign?: "top" | "center";
|
||||
export interface SvgTextLogoProps {
|
||||
text: string;
|
||||
className?: string;
|
||||
fontSize?: number;
|
||||
fontWeight?: string;
|
||||
fill?: string;
|
||||
dominantBaseline?: 'auto' | 'middle' | 'hanging' | 'mathematical';
|
||||
}
|
||||
|
||||
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
|
||||
logoText,
|
||||
adjustHeightFactor,
|
||||
verticalAlign = "top",
|
||||
className = "",
|
||||
}) {
|
||||
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
|
||||
|
||||
const SvgTextLogo = ({
|
||||
text,
|
||||
className = '',
|
||||
fontSize = 32,
|
||||
fontWeight = 'bold',
|
||||
fill = 'currentColor',
|
||||
dominantBaseline = 'middle',
|
||||
}: SvgTextLogoProps) => {
|
||||
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} ${fontSize + 20}`}
|
||||
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"
|
||||
}}
|
||||
x="50%"
|
||||
y="50%"
|
||||
textAnchor="middle"
|
||||
dominantBaseline={dominantBaseline}
|
||||
fontSize={fontSize}
|
||||
fontWeight={fontWeight}
|
||||
fill={fill}
|
||||
fontFamily="inherit"
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
|
||||
export default SvgTextLogo;
|
||||
export default SvgTextLogo;
|
||||
Reference in New Issue
Block a user