import { useEffect, useRef, useState } from 'react' import { useParams } from 'react-router-dom' import PrimaryButton from '../components/PrimaryButton' import { resolveLandingModel, type LandingModel, } from '../data/landingModels' import { listPublicBlogs, type PublicBlog } from '../lib/api' import { toFaDigits } from '../lib/faDigits' import SeoHead from '../components/SeoHead' import watermarkBg from '../assets/images/mado-230-bg.png' import BlogCarousel from '../components/BlogCarousel' import NotFoundPage from './NotFoundPage' import './LandingModelPage.css' function ColorCarousel({ images }: { images: string[] }) { const [index, setIndex] = useState(0) if (images.length === 0) return null return (
{images.map((_, i) => (
) } function LandingContent({ model }: { model: LandingModel }) { const [blogs, setBlogs] = useState([]) const rootRef = useRef(null) const modelCode = model.label.replace('مادو ', '') useEffect(() => { void listPublicBlogs() .then((data) => setBlogs(data)) .catch(() => setBlogs([])) }, [model]) useEffect(() => { const root = rootRef.current if (!root) return const nodes = [...root.querySelectorAll('.js-reveal')] const io = new IntersectionObserver( (entries) => { for (const entry of entries) { if (!entry.isIntersecting) continue entry.target.classList.add('is-in') io.unobserve(entry.target) } }, { threshold: 0.16, rootMargin: '0px 0px -8% 0px' }, ) nodes.forEach((node) => io.observe(node)) return () => io.disconnect() }, [model.id, blogs.length]) return (
مـــــــــادو {modelCode}

{model.introText}

{model.featureBlocks?.length ? ( model.featureBlocks.map((block) => (
{block.eyebrow} {block.title}

{block.body}

)) ) : ( <>
کیلومتر دیجیتالی

{model.dashText}

)}
{model.id === 'mado-230' ? ( <> قابلیت فست شارژ به زودی... ) : ( <> {model.highlight.title} {model.highlight.body ? (

{model.highlight.body}

) : null} )}
{model.colorTitle} {model.colorSubtitles.map((line) => (

{line}

))}
باطری لیتیومی نسل جدید
    {model.batteryItems.map((item) => (
  • {item}
  • ))}

دسترسی آسان به تمامی قطعات بواسطه تولید 80 قطعه از 100 قطعه اصلی در داخل کشور قیمت مناسب خدمات و قطعات موتور سیکلت

مادوموتور دوست دار محیط زیست

با موتور سیکت های برقی مادو موتور با کاهش آلایندگی هوا به سلامت یکدیگر کمک کنیم

گارانتی
گارانتی بلند مدت و خدمات پس از فروش
    {model.guaranteeItems.map((item) => (
  • {item}
  • ))}
قیمت و شرایط مناسب
    {model.priceItems.map((item) => (
  • {item}
  • ))}
{blogs.length > 0 ? (
آخرین مقالات
) : null}
) } export default function LandingModelPage() { const { model } = useParams() const landing = resolveLandingModel(model) if (!landing) return return }