Контакты
Бронь стола со свободными окнами
Бронь стола: слева свободные окна на сегодня чипами и заметки, справа форма — дата, время, гости степпером ±, имя, телефон, пожелания, согласие. Клик по чипу подставляет время и сегодняшнюю дату. Настоящая форма: с action уходит POST, без него — «стол ваш» на месте.
React + Tailwind, совместим с shadcn: нажмите «Копировать для ИИ» — агент в Cursor или Claude Code поставит его через shadcn CLI.
Что можно поменять
- eyebrow, title, lede, slots, slotsLabel, notes, minGuests, maxGuests, submitLabel, doneTitle, doneText, consentLabel
- action — куда отправлять; без него показывается done
- accent и background, tone
Собран из
- Поле с плавающей подписьюinput-001
- Многострочное поле с подписьюinput-034
- Строка с флажкомcheckbox-001
- Кнопка действияbutton-001
- Счётчик количестваbutton-018
Команда установки поставит и эти компоненты. Блок задаёт им только пропсы: их палитра и поведение — свои.
Ссылка для ИИ-агента: в ней превью, код и инструкция.
Превью

Использовать с ИИ
- 1. Скопируйте ссылку.
- 2. Напишите агенту своими словами и вставьте её в предложение.
- 3. Агент откроет ссылку и поставит компонент из реестра.
добавь это на главную первым экраном:
https://vibeui.ru/c/contact-016?theme=dark
Не знаете, куда вставить? Пошаговый гайд
Показать полную инструкцию
То, что лежит по ссылке в развёрнутом виде. Нужна, если агент не может открыть ссылку — тогда вставьте этот текст целиком.
Загружается…
Как использовать
<Contact016
title="Оставьте стол за собой"
slots={["18:00", "18:30", "19:30", "21:30"]}
notes={["Стол держим 15 минут после брони", "Терраса открыта с мая"]}
maxGuests={12}
action="/api/book"
/>Пример вызова. Сам компонент агент ставит из реестра по ссылке «Копировать для ИИ».
Настройки
- Тема
tone· по умолчанию: auto- Заголовок
title· по умолчанию: Оставьте стол за собой- Кнопка
submitLabel· по умолчанию: Забронировать- Акцент
accent· по умолчанию: цвет темы- Фон
background· по умолчанию: цвет темы
Используется в сценариях
- РесторанБронь
Ещё в разделе «Контакты»
Частые вопросы
- Как установить компонент «Бронь стола со свободными окнами» через Cursor или Claude Code?
- Нажмите «Копировать для ИИ» на этой странице и вставьте текст в чат агента. В инструкции команда установки через shadcn CLI, зависимости и что сохранить — агент поставит именно этот компонент, а не перерисует похожий.
- Какие зависимости у компонента «Бронь стола со свободными окнами»?
- Никаких npm-пакетов, кроме React и Tailwind CSS. Вместе с ним ставятся компоненты каталога: input-001, input-034, checkbox-001, button-001, button-018.
- Что можно поменять в компоненте «Бронь стола со свободными окнами»?
- Можно менять: eyebrow, title, lede, slots, slotsLabel, notes, minGuests, maxGuests, submitLabel, doneTitle, doneText, consentLabel; action — куда отправлять; без него показывается done; accent и background, tone. Сохранить как есть: импорты input-001, input-034, checkbox-001, button-001, button-018 из @/components/vibeui/ — не встраивать их код в блок и не заменять своими; частям уходят только пропсы; чипы свободных окон, подставляющие время в форму — бронь в два клика; степпер гостей вместо поля ввода и настоящие имена полей — обработчик получает date, time, guests, name, phone, note, consent.
- Компонент «Бронь стола со свободными окнами» бесплатный?
- Превью открыто всем, исходник доступен по подписке PRO.
Для разработчика
npx shadcn@latest add https://vibeui.ru/r/pro/contact-016.jsonКоманде нужна подписанная ссылка: войдите и откройте «Исходник компонента» ниже — там рабочая ссылка на 30 минут. Все способы установки
Технические заметки
Составной блок: импортирует input-001, input-034, checkbox-001, button-001, button-018 из @/components/vibeui/ — команда установки приносит их вместе с блоком. Блок владеет раскладкой и своим текстом, частям передаёт только пропсы, их палитры --vibeui-<name>-* не трогает. Один файл, ноль зависимостей, «use client». Чипы — <button aria-pressed>, клик пишет time и, если пусто, date=сегодня. Поля: date (min=сегодня), time (step 900), скрытый guests из степпера с границами minGuests/maxGuests, name, phone (tel), note (textarea), consent (required). action пустой — submit перехватывается и рендерится карточка done с role=status; с action — обычная отправка POST. От 56rem (container query) две колонки 1fr/1.1fr. Палитра --vibeui-contact-016-* нейтральная: чернила и бумага через light-dark(), цвета сайта передаются пропсами accent, ink и background; шрифты Playfair Display и Manrope подключаются <link precedence> с Google Fonts, с fallback на системные. tone фиксирует схему, accent, ink и background переопределяют цвета.
Теги
- restaurant
- cafe
- bar
- food
- menu
- dining
- booking
- reservation
- form
- table
- composite
Исходник компонента
Тот же файл, который поставит агент. Нужен, если вы предпочитаете скопировать код руками.
Загружается…