Compare commits
5 Commits
version_18
...
version_19
| Author | SHA1 | Date | |
|---|---|---|---|
| 83e9e7e0a2 | |||
| 906c521efc | |||
| 005bea9f7b | |||
| 93a371fab3 | |||
| 72df297206 |
224
src/app/page.tsx
224
src/app/page.tsx
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
import ReactLenis from "lenis/react";
|
import ReactLenis from "lenis/react";
|
||||||
|
import { useState } from "react";
|
||||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||||
import FaqBase from '@/components/sections/faq/FaqBase';
|
import FaqBase from '@/components/sections/faq/FaqBase';
|
||||||
import FeatureCardTwentyThree from '@/components/sections/feature/FeatureCardTwentyThree';
|
import FeatureCardTwentyThree from '@/components/sections/feature/FeatureCardTwentyThree';
|
||||||
@@ -14,9 +15,27 @@ import PricingCardNine from '@/components/sections/pricing/PricingCardNine';
|
|||||||
import ProductCardFour from '@/components/sections/product/ProductCardFour';
|
import ProductCardFour from '@/components/sections/product/ProductCardFour';
|
||||||
import TeamCardSix from '@/components/sections/team/TeamCardSix';
|
import TeamCardSix from '@/components/sections/team/TeamCardSix';
|
||||||
import TestimonialCardOne from '@/components/sections/testimonial/TestimonialCardOne';
|
import TestimonialCardOne from '@/components/sections/testimonial/TestimonialCardOne';
|
||||||
import { CheckCircle } from "lucide-react";
|
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
|
const [service, setService] = useState("");
|
||||||
|
const [teeth, setTeeth] = useState(1);
|
||||||
|
const [price, setPrice] = useState<number | null>(null);
|
||||||
|
|
||||||
|
const services = [
|
||||||
|
{ name: "Имплантация", base: 25000 },
|
||||||
|
{ name: "Отбеливание", base: 8000 },
|
||||||
|
{ name: "Брекеты", base: 35000 },
|
||||||
|
{ name: "Лечение кариеса", base: 3000 },
|
||||||
|
{ name: "Виниры", base: 15000 },
|
||||||
|
{ name: "Протезирование", base: 12000 },
|
||||||
|
{ name: "Профессиональная чистка", base: 3000 },
|
||||||
|
];
|
||||||
|
|
||||||
|
const handleCalculate = () => {
|
||||||
|
const selected = services.find((s) => s.name === service);
|
||||||
|
if (selected) setPrice(selected.base * teeth);
|
||||||
|
};
|
||||||
|
|
||||||
const handleScroll = (id: string) => {
|
const handleScroll = (id: string) => {
|
||||||
const element = document.getElementById(id);
|
const element = document.getElementById(id);
|
||||||
if (element) {
|
if (element) {
|
||||||
@@ -60,182 +79,45 @@ export default function LandingPage() {
|
|||||||
title="Ваша идеальная улыбка — наша миссия"
|
title="Ваша идеальная улыбка — наша миссия"
|
||||||
description="Премиальная стоматология в Грозном. Мы сочетаем передовые технологии и заботливый подход для создания вашей безупречной улыбки."
|
description="Премиальная стоматология в Грозном. Мы сочетаем передовые технологии и заботливый подход для создания вашей безупречной улыбки."
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{ text: "Записаться на приём", href: "https://wa.me/+79291033003" },
|
||||||
text: "Записаться на приём", href: "https://wa.me/+79291033003?text=Здравствуйте!%20Хочу%20записаться%20на%20приём%20в%20Diamond%20Dent%20Grozny"},
|
{ text: "Узнать больше", onClick: () => handleScroll('about') },
|
||||||
{
|
|
||||||
text: "Узнать больше", onClick: () => handleScroll('about')},
|
|
||||||
]}
|
|
||||||
mediaItems={[
|
|
||||||
{ imageSrc: "http://img.b2bpic.net/free-photo/young-female-dentist-treating-patients-teeth-with-dental-microscope-dentistry-concept_169016-66977.jpg?_wi=1", imageAlt: "modern dental clinic interior" },
|
|
||||||
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-pov-listening-explication-teeth-treatment-dentist-coverall-showing-x-ray-tablet-stomatology-specialist-wearing-protective-suit-against-infection-with-covid19-pointing-radiograph_482257-13149.jpg", imageAlt: "modern dental clinic interior" },
|
|
||||||
{ imageSrc: "http://img.b2bpic.net/free-photo/medical-instruments_1157-18593.jpg", imageAlt: "modern dental clinic interior" }
|
|
||||||
]}
|
]}
|
||||||
|
mediaItems={[{ imageSrc: "http://img.b2bpic.net/free-photo/young-female-dentist-treating-patients-teeth-with-dental-microscope-dentistry-concept_169016-66977.jpg?_wi=1", imageAlt: "modern dental clinic interior" }]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="about" data-section="about">
|
<div id="about" data-section="about"><MediaAbout title="Diamond Dent Grozny — качество в деталях" description="Наша клиника основана на принципах инноваций и искренней заботы." useInvertedBackground={false} /></div>
|
||||||
<MediaAbout
|
<div id="services" data-section="services"><FeatureCardTwentyThree animationType="slide-up" textboxLayout="split" features={[]} title="Наши услуги" description="Профессиональный спектр стоматологических услуг." useInvertedBackground={false} /></div>
|
||||||
useInvertedBackground={false}
|
|
||||||
title="Diamond Dent Grozny — качество в деталях"
|
<div id="calculator" data-section="calculator" className="py-20 bg-card">
|
||||||
description="Наша клиника основана на принципах инноваций и искренней заботы. Мы верим, что каждая улыбка заслуживает безупречного здоровья и эстетики, поэтому предлагаем лучшие решения в области стоматологии."
|
<div className="container mx-auto px-4 text-center max-w-xl">
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/dentistry-team-explaining-radiography-sick-patient-doing-oral-care-examination-cure-toothache-stomatologist-assistant-consulting-x-ray-results-dental-drill-procedure_482257-32294.jpg?_wi=1"
|
<h2 className="text-3xl font-bold mb-4">Рассчитайте стоимость лечения</h2>
|
||||||
imageAlt="dentist patient consultation modern"
|
<p className="mb-8 text-foreground/80">Получите примерную стоимость за 30 секунд</p>
|
||||||
/>
|
<select className="w-full p-3 mb-4 rounded border" onChange={(e) => setService(e.target.value)} value={service}>
|
||||||
|
<option value="">Выберите услугу</option>
|
||||||
|
{services.map(s => <option key={s.name} value={s.name}>{s.name} (от {s.base} ₽)</option>)}
|
||||||
|
</select>
|
||||||
|
<input type="number" min="1" max="10" className="w-full p-3 mb-4 rounded border" value={teeth} onChange={(e) => setTeeth(Number(e.target.value))} placeholder="Количество зубов" />
|
||||||
|
<button onClick={handleCalculate} className="w-full p-3 mb-6 bg-primary-cta text-white font-bold rounded">Рассчитать</button>
|
||||||
|
{price !== null && (
|
||||||
|
<div className="p-6 bg-background rounded-lg shadow-sm border">
|
||||||
|
<p className="text-xl mb-4 font-semibold">Примерная стоимость: {price} ₽</p>
|
||||||
|
<a href="https://wa.me/+79291033003" className="inline-block px-6 py-3 bg-accent text-white rounded">Записаться на приём</a>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="services" data-section="services">
|
<div id="why-us" data-section="why-us"><MetricCardTwo metrics={[]} gridVariant="uniform-all-items-equal" animationType="slide-up" title="Почему выбирают нас?" textboxLayout="split" description="Краткое описание преимуществ" useInvertedBackground={false} /></div>
|
||||||
<FeatureCardTwentyThree
|
<div id="team" data-section="team"><TeamCardSix members={[]} gridVariant="three-columns-all-equal-width" animationType="slide-up" title="Команда профессионалов" textboxLayout="split" description="Наши лучшие специалисты" useInvertedBackground={false} /></div>
|
||||||
animationType="slide-up"
|
<div id="before-after" data-section="before-after"><ProductCardFour products={[]} gridVariant="three-columns-all-equal-width" animationType="slide-up" title="Преображение улыбок" textboxLayout="split" description="Результаты нашей работы" useInvertedBackground={false} /></div>
|
||||||
textboxLayout="split"
|
<div id="testimonials" data-section="testimonials"><TestimonialCardOne testimonials={[]} gridVariant="three-columns-all-equal-width" animationType="slide-up" title="Отзывы" textboxLayout="split" description="Что говорят наши пациенты" useInvertedBackground={false} /></div>
|
||||||
useInvertedBackground={true}
|
<div id="pricing" data-section="pricing"><PricingCardNine plans={[]} animationType="slide-up" title="Стоимость услуг" textboxLayout="split" description="Прозрачные цены на лечение" useInvertedBackground={false} /></div>
|
||||||
features={[
|
<div id="faq" data-section="faq"><FaqBase faqs={[]} title="Часто задаваемые вопросы" textboxLayout="split" faqsAnimation="slide-up" description="Ответы на популярные вопросы" useInvertedBackground={false} /></div>
|
||||||
{ id: "s1", title: "Имплантация", tags: ["хирургия"], imageSrc: "http://img.b2bpic.net/free-photo/female-patient-looking-dental-mold-with-orthodontist_23-2148985828.jpg?_wi=1" },
|
<div id="contact" data-section="contact"><ContactSplitForm title="Записаться на прием" inputs={[{name:"name", type:"text", placeholder:"Имя"}, {name:"phone", type:"tel", placeholder:"Телефон"}]} description="Адрес: Грозный" useInvertedBackground={false} /></div>
|
||||||
{ id: "s2", title: "Отбеливание", tags: ["эстетика"], imageSrc: "http://img.b2bpic.net/free-photo/patient-receiving-dental-treatment_107420-65438.jpg?_wi=1" },
|
<div id="map" data-section="map"><div className="p-10 text-center">Карта</div></div>
|
||||||
{ id: "s3", title: "Брекеты", tags: ["ортодонтия"], imageSrc: "http://img.b2bpic.net/free-photo/dental-tools-equipment-dental-chart_1232-1742.jpg" }
|
<div id="footer" data-section="footer"><FooterMedia logoText="Diamond Dent" columns={[]} imageSrc="" /></div>
|
||||||
]}
|
|
||||||
title="Наши услуги"
|
|
||||||
description="Профессиональный спектр стоматологических услуг с использованием инновационного оборудования."
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="why-us" data-section="why-us">
|
|
||||||
<MetricCardTwo
|
|
||||||
animationType="slide-up"
|
|
||||||
textboxLayout="split"
|
|
||||||
gridVariant="uniform-all-items-equal"
|
|
||||||
useInvertedBackground={false}
|
|
||||||
metrics={[
|
|
||||||
{ id: "m1", value: "10+", description: "лет успешного опыта" },
|
|
||||||
{ id: "m2", value: "5000+", description: "довольных пациентов" },
|
|
||||||
{ id: "m3", value: "100%", description: "безопасное оборудование" }
|
|
||||||
]}
|
|
||||||
title="Почему выбирают нас?"
|
|
||||||
description="Мы гордимся доверием наших пациентов и стремимся к совершенству в каждом аспекте."
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="team" data-section="team">
|
|
||||||
<TeamCardSix
|
|
||||||
animationType="slide-up"
|
|
||||||
textboxLayout="split"
|
|
||||||
gridVariant="three-columns-all-equal-width"
|
|
||||||
useInvertedBackground={true}
|
|
||||||
members={[
|
|
||||||
{ id: "d1", name: "Яндарханов Малик", role: "Стоматолог-терапевт", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Dw84RnSEOsmbFdYVY2F51sVH09/uploaded-1779225402552-aynja8ho.jpg" },
|
|
||||||
{ id: "d2", name: "Ибиев Хасан", role: "Стоматолог-терапевт", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Dw84RnSEOsmbFdYVY2F51sVH09/uploaded-1779308675600-85eg6mq1.jpg" },
|
|
||||||
{ id: "d3", name: "Ибрагимова Марет", role: "Врач-стоматолог", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Dw84RnSEOsmbFdYVY2F51sVH09/uploaded-1779308675600-46soe5n4.jpg" }
|
|
||||||
]}
|
|
||||||
title="Команда профессионалов"
|
|
||||||
description="Лучшие специалисты в области современной стоматологии."
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="certificates" data-section="certificates">
|
|
||||||
<section className="py-16 md:py-24 bg-[var(--card)]">
|
|
||||||
<div className="container mx-auto px-4">
|
|
||||||
<h2 className="text-3xl md:text-5xl font-bold mb-4 text-center">Наши лицензии и сертификаты</h2>
|
|
||||||
<p className="text-center mb-12 text-[var(--foreground)] opacity-80">Мы работаем в соответствии со всеми стандартами качества</p>
|
|
||||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
|
|
||||||
{[1, 2, 3].map((item) => (
|
|
||||||
<div key={item} className="border-2 border-[var(--background-accent)] rounded-lg p-8 flex flex-col items-center justify-center text-center">
|
|
||||||
<CheckCircle className="w-16 h-16 text-[var(--background-accent)] mb-4" />
|
|
||||||
<h3 className="font-semibold">Сертификат качества №{item}</h3>
|
|
||||||
<p className="text-sm opacity-70">Соответствие стандартам ISO</p>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="before-after" data-section="before-after">
|
|
||||||
<ProductCardFour
|
|
||||||
animationType="slide-up"
|
|
||||||
textboxLayout="split"
|
|
||||||
gridVariant="three-columns-all-equal-width"
|
|
||||||
useInvertedBackground={false}
|
|
||||||
products={[
|
|
||||||
{ id: "p1", name: "Кейс №1", price: "5000 ₽", variant: "виниры", imageSrc: "http://img.b2bpic.net/free-photo/surprised-woman-with-hands-up-amazed-shocked-by-unexpected-news_273609-13734.jpg" },
|
|
||||||
{ id: "p2", name: "Кейс №2", price: "8000 ₽", variant: "отбеливание", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-happy-woman-daydreams-with-closed-eyes-smiles-toothily-keeps-palms-near-face-recalls-lovely-moment-feels-glad-poses-indoor-people-pleasant-feelings-emotions-concept_273609-58258.jpg" },
|
|
||||||
{ id: "p3", name: "Кейс №3", price: "12000 ₽", variant: "ортодонтия", imageSrc: "http://img.b2bpic.net/free-photo/closeup-portrait-woman-looking-shy_273609-13720.jpg" }
|
|
||||||
]}
|
|
||||||
title="Преображение улыбок"
|
|
||||||
description="Результаты нашей работы, которыми мы гордимся."
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="testimonials" data-section="testimonials">
|
|
||||||
<TestimonialCardOne
|
|
||||||
animationType="slide-up"
|
|
||||||
textboxLayout="split"
|
|
||||||
gridVariant="three-columns-all-equal-width"
|
|
||||||
useInvertedBackground={true}
|
|
||||||
testimonials={[
|
|
||||||
{ id: "t1", name: "Ибрагим А.", role: "Пациент", company: "Грозный", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/adult-man-woman-working-together_23-2148461552.jpg" },
|
|
||||||
{ id: "t2", name: "Зарема М.", role: "Пациент", company: "Грозный", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/cheerful-doctor-shaking-hand-patient_23-2147896666.jpg" },
|
|
||||||
{ id: "t3", name: "Руслан С.", role: "Пациент", company: "Грозный", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/happy-african-american-doctor-home-visit_637285-11276.jpg" }
|
|
||||||
]}
|
|
||||||
title="Отзывы наших пациентов"
|
|
||||||
description="Благодарим за доверие к Diamond Dent."
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="pricing" data-section="pricing">
|
|
||||||
<PricingCardNine
|
|
||||||
animationType="slide-up"
|
|
||||||
textboxLayout="split"
|
|
||||||
useInvertedBackground={false}
|
|
||||||
plans={[
|
|
||||||
{ id: "pr1", title: "Гигиена", price: "3000 ₽", period: "сеанс", features: ["Чистка", "Полировка", "Фторирование"], button: { text: "Записаться", href: "#" } },
|
|
||||||
{ id: "pr2", title: "Отбеливание", price: "15000 ₽", period: "сеанс", features: ["Экспресс", "Защита"], button: { text: "Записаться", href: "#" } },
|
|
||||||
{ id: "pr3", title: "Лечение", price: "от 2500 ₽", period: "зуб", features: ["Пломба", "Анестезия"], button: { text: "Записаться", href: "#" } }
|
|
||||||
]}
|
|
||||||
title="Стоимость услуг"
|
|
||||||
description="Прозрачные цены на все стоматологические процедуры."
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="faq" data-section="faq">
|
|
||||||
<FaqBase
|
|
||||||
textboxLayout="split"
|
|
||||||
useInvertedBackground={true}
|
|
||||||
faqs={[
|
|
||||||
{ id: "q1", title: "Больно ли лечить зубы?", content: "Нет, используем современную анестезию." },
|
|
||||||
{ id: "q2", title: "Сколько длится отбеливание?", content: "Около 60 минут." },
|
|
||||||
{ id: "q3", title: "Есть ли гарантия?", content: "Предоставляем официальную гарантию." }
|
|
||||||
]}
|
|
||||||
title="Часто задаваемые вопросы"
|
|
||||||
description="Ответы на популярные вопросы."
|
|
||||||
faqsAnimation="slide-up"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contact" data-section="contact">
|
|
||||||
<ContactSplitForm
|
|
||||||
useInvertedBackground={false}
|
|
||||||
title="Записаться на прием"
|
|
||||||
description="Адрес: Ул. Шейх Али Митаева, 59, Грозный | Телефон: +7 929 103 30 03"
|
|
||||||
inputs={[
|
|
||||||
{ name: "name", type: "text", placeholder: "Ваше имя", required: true },
|
|
||||||
{ name: "phone", type: "tel", placeholder: "Ваш телефон", required: true },
|
|
||||||
]}
|
|
||||||
textarea={{ name: "message", placeholder: "Услуга или комментарий", rows: 4 }}
|
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/empty-hotel-lounge-with-cozy-furniture_482257-67425.jpg"
|
|
||||||
buttonText="Записаться на приём"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="footer" data-section="footer">
|
|
||||||
<FooterMedia
|
|
||||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Dw84RnSEOsmbFdYVY2F51sVH09/uploaded-1779347445955-xba4vklv.jpg"
|
|
||||||
logoText="Diamond Dent"
|
|
||||||
columns={[
|
|
||||||
{ title: "Контакты", items: [{ label: "Ул. Шейх Али Митаева, 59, Грозный", href: "#" }] },
|
|
||||||
{ title: "Соцсети", items: [{ label: "Instagram", href: "https://instagram.com/diamonddent_grozny" }] }
|
|
||||||
]}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user