169 lines
9.7 KiB
TypeScript
169 lines
9.7 KiB
TypeScript
import {
|
||
CalendarDaysIcon,
|
||
ChefHatIcon,
|
||
ClockIcon,
|
||
LeafIcon,
|
||
MapPinIcon,
|
||
SparklesIcon,
|
||
StarIcon,
|
||
UserRoundIcon,
|
||
WineIcon,
|
||
} from "lucide-react";
|
||
|
||
export const site = {
|
||
name: "Juniper Table",
|
||
tagline:
|
||
"Сезонный ресторан с открытой кухней, точным сервисом, понятной бронью и вечерними сценариями от chef counter до private dining.",
|
||
cta: "Забронировать стол",
|
||
secondaryCta: "Смотреть меню",
|
||
heroImage: "https://images.unsplash.com/photo-1559339352-11d035aa65de?auto=format&fit=crop&w=1400&q=82",
|
||
accentImage: "https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=1200&q=82",
|
||
nav: [
|
||
{ href: "/menu", label: "Меню" },
|
||
{ href: "/reservations", label: "Бронь" },
|
||
{ href: "/private-events", label: "События" },
|
||
{ href: "/about", label: "Кухня" },
|
||
{ href: "/contact", label: "Контакты" },
|
||
],
|
||
} as const;
|
||
|
||
export const serviceWindows = [
|
||
{ label: "Lunch", time: "12:00-16:00", note: "короткий сет и a la carte" },
|
||
{ label: "Dinner", time: "18:00-23:00", note: "основная посадка и chef counter" },
|
||
{ label: "Late table", time: "23:00-01:00", note: "бар, десерты и легкие блюда" },
|
||
] as const;
|
||
|
||
export const highlights = [
|
||
{ title: "Chef counter", value: "18 мест", text: "Посадка у открытой кухни с отдельным темпом подачи.", icon: ChefHatIcon },
|
||
{ title: "Сезон окна", value: "6 недель", text: "Меню меняется вокруг поставок фермеров и рыбы недели.", icon: LeafIcon },
|
||
{ title: "Pairing list", value: "120 этикеток", text: "Вино, сидр, малые хозяйства и non-alcohol pairing.", icon: WineIcon },
|
||
] as const;
|
||
|
||
export const menuSections = [
|
||
{
|
||
title: "Raw and starters",
|
||
note: "легкий старт, фермерские овощи, рыба, травы",
|
||
items: ["томатный тартар", "маринованная форель", "молодая свекла"],
|
||
},
|
||
{
|
||
title: "Fire and mains",
|
||
note: "рыба, птица, сезонные гарниры, соусы на бульонах",
|
||
items: ["палтус", "утиная грудка", "цветная капуста на углях"],
|
||
},
|
||
{
|
||
title: "Dessert and cellar",
|
||
note: "не слишком сладкий финал и pairing по желанию",
|
||
items: ["медовый крем", "ревень", "чайный pairing"],
|
||
},
|
||
] as const;
|
||
|
||
export const dishes = [
|
||
{
|
||
name: "Томатный тартар с копченой рикоттой",
|
||
price: "720 ₽",
|
||
tag: "starter",
|
||
section: "Raw and starters",
|
||
text: "Сладкие томаты, базилик, зеленый перец, холодное масло и хрустящий хлеб.",
|
||
allergens: "молоко, глютен",
|
||
pairing: "пет-нат rose",
|
||
image: "https://images.unsplash.com/photo-1504674900247-0877df9cc836?auto=format&fit=crop&w=1000&q=82",
|
||
},
|
||
{
|
||
name: "Палтус, фенхель и beurre blanc",
|
||
price: "1640 ₽",
|
||
tag: "signature",
|
||
section: "Fire and mains",
|
||
text: "Нежная рыба, цитрус, молодой картофель, травы и соус на белом вине.",
|
||
allergens: "рыба, молоко",
|
||
pairing: "chablis style",
|
||
image: "https://images.unsplash.com/photo-1565299624946-b28f40a0ae38?auto=format&fit=crop&w=1000&q=82",
|
||
},
|
||
{
|
||
name: "Утиная грудка с вишней и сельдереем",
|
||
price: "1880 ₽",
|
||
tag: "main",
|
||
section: "Fire and mains",
|
||
text: "Хрустящая кожа, соус из красного вина, корень сельдерея и кислая вишня.",
|
||
allergens: "сельдерей",
|
||
pairing: "pinot noir",
|
||
image: "https://images.unsplash.com/photo-1559847844-5315695dadae?auto=format&fit=crop&w=1000&q=82",
|
||
},
|
||
{
|
||
name: "Медовый крем, тимьян и ревень",
|
||
price: "560 ₽",
|
||
tag: "dessert",
|
||
section: "Dessert and cellar",
|
||
text: "Легкий крем, соты, ревень, лимонная цедра и сухое послевкусие.",
|
||
allergens: "молоко, мед",
|
||
pairing: "oolong highball",
|
||
image: "https://images.unsplash.com/photo-1488477181946-6428a0291777?auto=format&fit=crop&w=1000&q=82",
|
||
},
|
||
] as const;
|
||
|
||
export const products = dishes;
|
||
|
||
export const tastingSets = [
|
||
{ title: "Lunch tempo", price: "1900 ₽", items: ["3 подачи", "до 16:00", "45-60 минут"] },
|
||
{ title: "Juniper tasting", price: "4900 ₽", items: ["7 подач", "chef counter", "pairing option"] },
|
||
{ title: "Private table", price: "от 12000 ₽", items: ["до 12 гостей", "персональное меню", "сомелье"] },
|
||
] as const;
|
||
|
||
export const seatingOptions = [
|
||
{ title: "Chef counter", seats: "18 мест", text: "Лучший выбор для пары или гостя, который хочет видеть кухню.", deposit: "без депозита до 4 гостей" },
|
||
{ title: "Dining room", seats: "46 мест", text: "Основной зал с тихим сервисом и свободным темпом ужина.", deposit: "депозит от 8 гостей" },
|
||
{ title: "Private room", seats: "10-18 гостей", text: "Отдельная комната для семейного или делового ужина.", deposit: "меню согласуется заранее" },
|
||
] as const;
|
||
|
||
export const eveningTimeline = [
|
||
{ time: "18:30", title: "Aperitif", text: "хост встречает гостей, уточняет ограничения и темп вечера" },
|
||
{ time: "19:00", title: "Menu choice", text: "a la carte, дегустационный сет или chef counter маршрут" },
|
||
{ time: "20:40", title: "Pairing and dessert", text: "вино, non-alcohol pairing, десерт или чайный финал" },
|
||
] as const;
|
||
|
||
export const pairingFlights = [
|
||
{ title: "Garden pairing", text: "травяной highball, сидр малой фермы, белый чай", price: "1500 ₽" },
|
||
{ title: "Cellar pairing", text: "малые винодельни, минеральные белые, легкий pinot", price: "2600 ₽" },
|
||
{ title: "No alcohol", text: "kombucha, verjus tonic, чайные настои и ягодные shrubs", price: "1100 ₽" },
|
||
] as const;
|
||
|
||
export const dietaryNotes = [
|
||
{ title: "Аллергии", text: "Укажите ограничения при бронировании. Кухня подтвердит безопасные замены до визита." },
|
||
{ title: "Vegetarian route", text: "Часть меню собирается без мяса и рыбы, но требует подтверждения кухни." },
|
||
{ title: "Kids and timing", text: "Для гостей с детьми лучше выбрать раннюю посадку и предупредить хоста заранее." },
|
||
] as const;
|
||
|
||
export const eventTypes = [
|
||
{ title: "Камерный ужин", text: "10-18 гостей, отдельный зал, сет-меню и тихий сервис.", icon: SparklesIcon },
|
||
{ title: "Wedding welcome", text: "Фуршет, raw bar, десертная станция и wine pairing.", icon: StarIcon },
|
||
{ title: "Corporate dinner", text: "Тайминг презентации, персональное меню и приватная команда зала.", icon: CalendarDaysIcon },
|
||
] as const;
|
||
|
||
export const privatePackages = [
|
||
{ title: "Family table", guests: "10-14 гостей", price: "от 85 000 ₽", details: ["set menu", "welcome drink", "общий стол"] },
|
||
{ title: "Board dinner", guests: "12-18 гостей", price: "от 140 000 ₽", details: ["private room", "presentation timing", "sommelier"] },
|
||
{ title: "Wedding evening", guests: "24-42 гостя", price: "по запросу", details: ["buyout window", "raw bar", "dessert station"] },
|
||
] as const;
|
||
|
||
export const suppliers = [
|
||
{ name: "Ферма Север", product: "зелень, корнеплоды", cadence: "2 раза в неделю" },
|
||
{ name: "Волга Рыба", product: "палтус, форель", cadence: "под меню недели" },
|
||
{ name: "Малые сады", product: "ягоды, ревень", cadence: "сезонное окно" },
|
||
] as const;
|
||
|
||
export const testimonials = [
|
||
{ name: "Анна К.", text: "Редкий ресторан, где сервис, свет и кухня работают как один вечер.", rating: "5.0" },
|
||
{ name: "Table Guide", text: "Juniper Table попадает в точку: спокойно, точно, без лишнего шума.", rating: "4.9" },
|
||
] as const;
|
||
|
||
export const contactCards = [
|
||
{ title: "Адрес", text: "Петровка, 17, Москва, вход через внутренний двор", icon: MapPinIcon },
|
||
{ title: "Часы кухни", text: "Пн-Чт 12:00-23:00, Пт-Вс 12:00-01:00", icon: ClockIcon },
|
||
{ title: "Хост", text: "+7 495 120-44-18, подтверждение брони до 20 минут", icon: UserRoundIcon },
|
||
] as const;
|
||
|
||
export const bookingRules = [
|
||
{ title: "Подтверждение", text: "Хост связывается в течение 20 минут в рабочее время." },
|
||
{ title: "Депозит", text: "Для компаний от 8 гостей депозит и меню обсуждаются заранее." },
|
||
{ title: "Ограничения", text: "Аллергии и dietary requests указываются до визита, чтобы кухня подтвердила замену." },
|
||
] as const;
|