mirror of
https://git.meshkee.com/BaloutPastry/website.git
synced 2026-08-11 22:31:01 +04:30
255 lines
9.6 KiB
TypeScript
255 lines
9.6 KiB
TypeScript
import { useEffect, useState } from 'react'
|
|
import { Link } from 'react-router-dom'
|
|
import { ChevronLeft } from 'lucide-react'
|
|
import HeaderTitle from '../components/HeaderTitle'
|
|
import macaronRight from '../assets/images/brown-macaron-right.png'
|
|
import macaronLeft from '../assets/images/brown-macaron-left.png'
|
|
import chocolateCake from '../assets/images/chocolate-cake.png'
|
|
import deliciousDecorate from '../assets/images/delicious-decorate.png'
|
|
import strawberryDecorate from '../assets/images/strawberry-decorate.png'
|
|
import muffinsDecorate from '../assets/images/muffins-decorate.png'
|
|
import tiramisuCake from '../assets/images/tiramisu-cake.png'
|
|
import sohan from '../assets/images/sohan4.png'
|
|
import sohanPattern from '../assets/images/backImage1.png'
|
|
import cookies from '../assets/images/cookies.png'
|
|
import flatLay from '../assets/images/FlatLay.png'
|
|
import peste from '../assets/images/peste.png'
|
|
import './HomePage.css'
|
|
|
|
const DECOR_CARDS = [
|
|
{
|
|
title: 'انواع',
|
|
subtitle: 'کیـــــــــــک',
|
|
image: deliciousDecorate,
|
|
to: '/products/cake',
|
|
},
|
|
{
|
|
title: 'انواع',
|
|
subtitle: 'شیرینـــــی',
|
|
image: strawberryDecorate,
|
|
to: '/products/shirini',
|
|
},
|
|
{
|
|
title: 'انواع',
|
|
subtitle: 'نـــــــــــــان',
|
|
image: muffinsDecorate,
|
|
},
|
|
]
|
|
|
|
const OFFER_CATEGORIES = [
|
|
{
|
|
title: 'شیرینی',
|
|
description:
|
|
'شیرینیهای بلوط همیشه تازه، خوشطعم و باکیفیت تهیه میشوند 🌰 از مدلهای ساده برای دورهمیهای خانوادگی تا شیرینیهای شیک و مجلسی، همه با بهترین مواد اولیه آماده میشوند تا کنار هر فنجان چای و هر جشن، لحظههایتان شیرینتر شود.',
|
|
},
|
|
{ title: 'كيكی جات' },
|
|
{ title: 'شیرینی تر' },
|
|
{ title: 'شیرینی خشک' },
|
|
{ title: 'زولبیا و بامیه' },
|
|
{ title: 'کیک شکلاتی' },
|
|
{ title: 'کیک' },
|
|
{ title: 'وسایل تم تولد' },
|
|
{ title: 'سوهان' },
|
|
{ title: 'آجیل و شکلات' },
|
|
{ title: 'دسر ها' },
|
|
{ title: 'شیرینی ها' },
|
|
{ title: 'کیک های خامه ای' },
|
|
]
|
|
|
|
export default function HomePage() {
|
|
const [openOffer, setOpenOffer] = useState(0)
|
|
|
|
useEffect(() => {
|
|
document.title = 'شیرینی بلوط - صفحه اصلی'
|
|
}, [])
|
|
|
|
return (
|
|
<div className="home">
|
|
{/* Hero title */}
|
|
<HeaderTitle
|
|
placeholder="Balout"
|
|
primary="شیرینی بلوط"
|
|
secondary="بلوط؛ شیرینیِ لحظههای کنار هم بودن"
|
|
size="xl"
|
|
align="center"
|
|
primaryFirst
|
|
className="home__hero-title"
|
|
/>
|
|
|
|
{/* Carousel / cake with macarons */}
|
|
<div className="carousel-layout">
|
|
<div className="carousel-layout__side carousel-layout__side--right">
|
|
<img src={macaronRight} alt="" className="carousel-layout__img--right" />
|
|
</div>
|
|
<div className="carousel-layout__center">
|
|
<img src={chocolateCake} alt="کیک شکلاتی" className="carousel-layout__cake" />
|
|
</div>
|
|
<div className="carousel-layout__side carousel-layout__side--left">
|
|
<img src={macaronLeft} alt="" className="carousel-layout__img--left" />
|
|
</div>
|
|
</div>
|
|
|
|
{/* For The Best */}
|
|
<HeaderTitle
|
|
placeholder="For The Best"
|
|
secondary="بهترین ها"
|
|
primary="را از مــــا بخـــــواهید"
|
|
size="lg"
|
|
align="center"
|
|
className="home__best-title"
|
|
/>
|
|
|
|
{/* Decor cards */}
|
|
<div className="max-container home-decor">
|
|
<div className="home-decor__row">
|
|
{DECOR_CARDS.map((card) => {
|
|
const content = (
|
|
<>
|
|
<div className="home-decor__card-text">
|
|
<p className="home-decor__cards--title">{card.title}</p>
|
|
<p className="home-decor__cards--subtitle">{card.subtitle}</p>
|
|
</div>
|
|
<img src={card.image} alt={card.subtitle} />
|
|
</>
|
|
)
|
|
|
|
return card.to ? (
|
|
<Link
|
|
key={card.subtitle}
|
|
to={card.to}
|
|
className="home-decor__card home-decor__card--link"
|
|
>
|
|
{content}
|
|
</Link>
|
|
) : (
|
|
<div key={card.subtitle} className="home-decor__card">
|
|
{content}
|
|
</div>
|
|
)
|
|
})}
|
|
</div>
|
|
</div>
|
|
|
|
{/* About */}
|
|
<div className="max-container about-section">
|
|
<div className="about-section__image">
|
|
<img src={tiramisuCake} alt="تیرامیسو" />
|
|
</div>
|
|
<div className="about-section__content">
|
|
<HeaderTitle
|
|
placeholder="About Us"
|
|
secondary="درباره"
|
|
primary="شیرینی بلوط"
|
|
size="lg"
|
|
align="start"
|
|
/>
|
|
<p className="about-section__description">
|
|
شیرینیسرای بلوط از سال ۱۳۷۸ در قم فعالیت خود را آغاز کرده و با بیش از دو دهه تجربه،
|
|
به عنوان نامی قابل اعتماد در تولید کیک و شیرینی شناخته میشود. این مجموعه با ترکیب
|
|
مهارت، خلاقیت و مواد اولیه باکیفیت، انواع کیکهای ساده تا عروسی و سفارشی را با دقت و
|
|
تازگی بالا ارائه میدهد و رضایت مشتری را اولویت اصلی خود میداند.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Sohan */}
|
|
<section className="sohan-section">
|
|
<img src={peste} alt="" className="sohan-section__peste" />
|
|
<div className="sohan-section__inner">
|
|
<div className="sohan-section__top">
|
|
<div className="sohan-section__media">
|
|
<img src={sohan} alt="سوهان" className="sohan-section__image" />
|
|
<img src={sohanPattern} alt="" className="sohan-section__pattern" />
|
|
</div>
|
|
<HeaderTitle
|
|
placeholder="Sohan"
|
|
secondary="سوهان"
|
|
primary="لذیذ و تازه بلوط"
|
|
size="lg"
|
|
align="start"
|
|
className="sohan-section__title"
|
|
/>
|
|
</div>
|
|
<p className="sohan-section__text">
|
|
سوهان یکی از اصیلترین سوغات قم است که در شیرینیسرای بلوط با استفاده از مواد اولیه
|
|
باکیفیت و تازه تهیه میشود. عطر دلانگیز کره و زعفران در کنار بافتی لطیف و طعمی
|
|
ماندگار، سوهان بلوط را به انتخابی مناسب برای پذیرایی و هدیه تبدیل کرده است.
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
{/* Special offers + hours */}
|
|
<div className="home-footer-block">
|
|
<section className="offers-wrapper">
|
|
<div className="offers-wrapper__img">
|
|
<img src={cookies} alt="کوکی" />
|
|
</div>
|
|
|
|
<HeaderTitle
|
|
placeholder="Special Menu Offers"
|
|
secondary="پیشنهاد ویژه"
|
|
primary="مارو از دست ندید!"
|
|
size="lg"
|
|
align="center"
|
|
className="offers-wrapper__title"
|
|
/>
|
|
|
|
<div className="offers">
|
|
{OFFER_CATEGORIES.map((cat, index) => {
|
|
const isOpen = openOffer === index
|
|
return (
|
|
<div key={cat.title} className="offers__item">
|
|
<button
|
|
type="button"
|
|
className={`offers__trigger${isOpen ? ' offers__trigger--open' : ''}`}
|
|
onClick={() => setOpenOffer(isOpen ? -1 : index)}
|
|
>
|
|
<span className="star">✱</span>
|
|
<span>{cat.title}</span>
|
|
</button>
|
|
{isOpen && cat.description && (
|
|
<div className="offers__body">
|
|
<p className="offers__description">{cat.description}</p>
|
|
<div className="offers__cta">
|
|
<Link to="/products" className="btn-primary">
|
|
مشاهده محصولات
|
|
<ChevronLeft size={14} />
|
|
</Link>
|
|
</div>
|
|
</div>
|
|
)}
|
|
</div>
|
|
)
|
|
})}
|
|
</div>
|
|
|
|
<div className="semicolon">
|
|
<img src={flatLay} alt="" />
|
|
</div>
|
|
|
|
<HeaderTitle
|
|
placeholder="Working Hours"
|
|
secondary="ساعت کاری"
|
|
primary="کافه نان و شیرینی بلوط"
|
|
size="lg"
|
|
align="center"
|
|
/>
|
|
|
|
<div className="hours">
|
|
<div>
|
|
<span className="star">✱</span>
|
|
شنبه تا پنجشنبه <span className="hours__number">۸</span> صبـــــــــح /{' '}
|
|
<span className="hours__number">۱۲</span> شـــــــــــب
|
|
</div>
|
|
<div>
|
|
<span className="star">✱</span>
|
|
جمعه و تعطیلات <span className="hours__number">۹</span> صبـــــــــح /{' '}
|
|
<span className="hours__number">۱۲</span> شـــــــــــب
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|