Перейти до вмісту

Форми

Готові форми для контакту, запиту ціни, бронювання та реєстрації. AI вставляє будь-яку з них одним компонентом — без написання обробника відправки — і кожне звернення потрапляє до скриньки відповідей вашого застосунку.

Форми у Proyecta — це можливість, а не те, що AI кодує вручну. Коли вашому застосунку потрібен спосіб, щоб відвідувачі могли зв’язатися з вами — контактна форма, запит на розрахунок вартості, запис на зустріч, реєстрація на подію — Proyecta налаштовує готове визначення форми і відображає його через блок, що належить шаблону. Валідація, стан успіху, збереження відповідей і сповіщення власника — усе це вже вбудовано.

Кожна форма базується на одному з п’яти вбудованих пресетів. Опишіть потрібну форму, і Proyecta сам вибере (та адаптує) відповідний — вам не потрібно створювати поля з нуля.

Пресет form api id Призначення Поєднується з
Contact contactForm Загальне «зв’язатися з нами»: ім’я, email, необов’язковий телефон, повідомлення Ділова інформація
Quote quoteForm Запит розрахунку: контактні дані + послуга + деталі завдання Послуги
Booking bookingForm Запис на зустріч: послуга, бажані дата й час, контактні дані Послуги
Registration registrationForm Реєстрація на подію або курс (RSVP): дані учасника + примітка Події
Order orderForm Приймання замовлення: що хоче клієнт, контактні дані, примітки Меню, каталог

В одному застосунку можна мати кілька форм (наприклад, контактну форму і форму бронювання), і AI може додавати, перейменовувати або змінювати поля будь-якої з них.

AI ніколи не будує форму чи обробник відправки вручну. Він вставляє <FormBlock/>, що належить шаблону, і вказує на форму за id або api id:

import { FormBlock } from '@/components/blocks/FormBlock';
// Будь-де на публічній сторінці — секція контактів, панель «запросити розрахунок» тощо.
<FormBlock form="contactForm" />;

<FormBlock/> робить усе самостійно:

  • Відображає поля за типом — текст / email / телефон як inputs, довгий текст як textarea, вибір зі списку як dropdown, погодження як checkbox, дати й часи як нативні picker-и, а файлові поля — як кнопку «прикріпити файл».
  • Валідує у браузері — обов’язкові поля перевіряються до відправки.
  • Валідує на сервері — якщо сервер відхиляє значення, конкретна помилка відображається прямо біля відповідного поля (жодних втрачених відповідей, жодних мовчазних збоїв).
  • Показує стан успіху — після відправки форма замінюється дружнім підтвердженням (власним повідомленням форми) з можливістю надіслати ще одну відповідь.
  • Безпечно обробляє помилки — якщо форму не знайдено або її деактивовано, блок нічого не відображає, тому публічна сторінка ніколи не зламається.

Оскільки блок належить шаблону, AI лише розміщує його та стилізує навколишню секцію — вся логіка всередині зафіксована і працює коректно.

Форми можуть приймати завантажений файл (квитанцію, референс-фото, бриф). Файлові поля відображають кнопку «прикріпити файл», завантажують файл у сховище і додають його публічний URL до відповіді. Обмеження застосовуються автоматично:

  • Лише зображення та PDF, до 5 МБ (великі зображення стискаються у браузері заздалегідь).
  • Кнопка відправки заблокована, поки файл завантажується, тому відповідь ніколи не надсилається незавершеною.

Куди потрапляють відповіді

Section titled “Куди потрапляють відповіді”

Кожна відповідь зберігається та відображається у скриньці відповідей вашого застосунку — частині адмін-панелі, яку рендерить <SubmissionsInbox/> шаблону. Звідти ви (власник) можете:

  • Переглядати відповіді у вкладках New / Read / Archived з бейджем непрочитаних на New.
  • Відкрити будь-яку відповідь, щоб побачити надіслані значення полів, сторінку, з якої вона надійшла, та дату.
  • Позначити відповідь як read, повернути до new або archive.
  • Фільтрувати скриньку за окремою формою або переглядати відповіді всіх форм в одному списку.

Скринька доступна лише адміністратору — читач має бути авторизований з адмін-акаунтом (перевіряється на сервері).

Отримання email при кожній відповіді

Section titled “Отримання email при кожній відповіді”

Форми можуть сповіщати вас електронною поштою щоразу, коли хтось заповнює форму — увімкніть сповіщення власника і вкажіть адресу, на яку їх надсилати. Нове звернення надходить до вашої поштової скриньки без необхідності відкривати застосунок. Самі листи надсилаються через можливість email у Proyecta, тому жодного додаткового налаштування не потрібно.

Поширені сценарії (нехай AI все налаштує)

Section titled “Поширені сценарії (нехай AI все налаштує)”
  • "Add a contact form to the footer with name, email, and message, and email me at hello@mybiz.com whenever someone submits."
  • "Put a 'Request a quote' form on each service page that asks which service they need and the job details."
  • "Add a booking form so clients can request an appointment with a preferred date and time."
  • "Create an event registration form for the workshop page and let attendees attach a PDF."
  • "Show me the submissions inbox and only the ones I haven't read yet."
  • Управління контентом — форми існують разом із вашими колекціями в одній моделі контенту.
  • Адмін-панель — місце, де переглядаються відповіді.
  • Emails — як надсилаються листи-сповіщення власнику.