Контакты

Бронь стола со свободными окнами

Бронь стола: слева свободные окна на сегодня чипами и заметки, справа форма — дата, время, гости степпером ±, имя, телефон, пожелания, согласие. Клик по чипу подставляет время и сегодняшнюю дату. Настоящая форма: с 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

Собран из

Команда установки поставит и эти компоненты. Блок задаёт им только пропсы: их палитра и поведение — свои.

Ссылка для ИИ-агента: в ней превью, код и инструкция.

Превью

1440pxТема страницы
Бронь стола со свободными окнами — Бронь стола: слева свободные окна на сегодня чипами и заметки, справа форма — дата, время, гости степпером ±, имя, телефон, пожелания, согласие. Клик по чипу подставляет время и сегодняшнюю дату. Настоящая форма: с action уходит POST, без него — «стол ваш» на месте.

Использовать с ИИ

  1. 1. Скопируйте ссылку.
  2. 2. Напишите агенту своими словами и вставьте её в предложение.
  3. 3. Агент откроет ссылку и поставит компонент из реестра.
AI
1Выбрали здесь

добавь это на главную первым экраном:

https://vibeui.ru/c/contact-016?theme=dark

2Вставили в чат агента
3Получили в проекте

Не знаете, куда вставить? Пошаговый гайд

Показать полную инструкцию

То, что лежит по ссылке в развёрнутом виде. Нужна, если агент не может открыть ссылку — тогда вставьте этот текст целиком.

Загружается…

Как использовать

<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
Исходник компонента

Тот же файл, который поставит агент. Нужен, если вы предпочитаете скопировать код руками.

Загружается…