Przejdź do głównej zawartości

Formularze

Gotowe formularze kontaktowe, wyceny, rezerwacji i rejestracji. AI wstawia je za pomocą jednego komponentu — bez konieczności pisania handlera wysyłki — a każde zgłoszenie trafia do skrzynki odbiorczej zgłoszeń Twojej aplikacji.

Formularze w Proyecta to wbudowana funkcjonalność, a nie coś, co AI koduje ręcznie. Gdy Twoja aplikacja potrzebuje sposobu, by odwiedzający mogli się z Tobą skontaktować — formularz kontaktowy, zapytanie o wycenę, rezerwacja wizyty, zapis na wydarzenie — Proyecta tworzy gotową definicję formularza i renderuje ją przez blok należący do szablonu. Walidacja, stan po wysłaniu, przechowywanie zgłoszeń i powiadomienie właściciela działają od razu, bez dodatkowej konfiguracji.

Każdy formularz oparty jest na jednym z pięciu wbudowanych presetów. Opisz formularz, którego potrzebujesz, a Proyecta wybierze (i dostosuje) odpowiedni — nigdy nie budujesz pól od zera.

Preset Api id formularza Do czego służy Powiązany z
Contact contactForm Ogólny formularz kontaktowy: imię, e-mail, opcjonalny telefon, wiadomość Dane firmowe
Quote quoteForm Zapytanie o wycenę: dane kontaktowe + wybrana usługa + szczegóły zlecenia Usługi
Booking bookingForm Rezerwacja wizyty: usługa, preferowana data i godzina, dane kontaktowe Usługi
Registration registrationForm Zapis na wydarzenie lub kurs (RSVP): dane uczestnika + notatka Wydarzenia
Order orderForm Przyjęcie zamówienia: czego chce klient, dane kontaktowe, uwagi Menu, katalog

W jednej aplikacji możesz mieć kilka formularzy (np. formularz kontaktowy i formularz rezerwacji), a AI może dodawać, zmieniać nazwy lub przebudowywać pola w każdym z nich.

AI nigdy nie buduje formularza ani handlera wysyłki ręcznie. Wstawia należący do szablonu komponent <FormBlock/> i wskazuje mu formularz po id lub api id:

import { FormBlock } from '@/components/blocks/FormBlock';
// Gdziekolwiek na stronie publicznej — sekcja kontaktowa, panel "zapytaj o wycenę" itp.
<FormBlock form="contactForm" />;

<FormBlock/> robi wszystko samodzielnie:

  • Renderuje pola według typu — tekst / e-mail / telefon jako inputy, długi tekst jako textarea, wybory jako dropdown, zgody jako checkbox, daty i godziny jako natywne pickery, a pola plików jako kontrolkę „dołącz plik“.
  • Waliduje w przeglądarce — wymagane pola są sprawdzane przed wysłaniem czegokolwiek.
  • Waliduje na serwerze — jeśli serwer odrzuci wartość, konkretny błąd wyświetla się inline obok danego pola (żadnych utraconych zgłoszeń, żadnych cichych błędów).
  • Pokazuje stan po wysłaniu — po przesłaniu formularza zastępuje go przyjazne potwierdzenie (własna wiadomość potwierdzająca formularza) z opcją wysłania kolejnej odpowiedzi.
  • Zawodzi bezpiecznie — jeśli formularz nie istnieje lub został dezaktywowany, blok nie renderuje niczego, więc nigdy nie może zepsuć strony publicznej.

Ponieważ blok należy do szablonu, zadanie AI polega wyłącznie na jego umieszczeniu i ostylowaniu otaczającej sekcji — mechanizm działający w tle jest ustalony i poprawny.

Formularze mogą przyjmować przesłany plik (paragon, zdjęcie referencyjne, brief). Pola plików renderują przycisk „dołącz plik“, przesyłają plik do storage’u i umieszczają jego publiczny URL w zgłoszeniu. Limity są egzekwowane automatycznie:

  • Tylko obrazy i PDF, do 5 MB (duże obrazy są najpierw pomniejszane w przeglądarce).
  • Przycisk wysyłki jest zablokowany podczas przesyłania pliku, więc zgłoszenie nigdy nie zostanie wysłane w połowie.

Każde zgłoszenie jest przechowywane i pojawia się w skrzynce odbiorczej zgłoszeń Twojej aplikacji — będącej częścią panelu administracyjnego, renderowanej przez komponent <SubmissionsInbox/> szablonu. Stamtąd Ty (właściciel) możesz:

  • Przeglądać zgłoszenia w zakładkach New / Read / Archived z plakietką nieprzeczytanych przy New.
  • Otwierać dowolne zgłoszenie, by zobaczyć przesłane wartości pól, stronę, z której przyszło, i datę.
  • Oznaczać zgłoszenie jako read, cofać je do new lub archiwizować.
  • Filtrować skrzynkę do jednego formularza lub wyświetlać zgłoszenia ze wszystkich formularzy na jednej liście.

Skrzynka jest dostępna wyłącznie dla administratorów — użytkownik musi być zalogowany na konto administracyjne (wymuszane po stronie serwera).

Formularze mogą powiadamiać Cię e-mailem za każdym razem, gdy ktoś wyśle zgłoszenie — włącz powiadomienia dla właściciela i podaj adres, na który mają trafiać. Lead pojawi się w Twojej skrzynce bez konieczności otwierania aplikacji. Sam e-mail jest wysyłany przez funkcjonalność e-mail Proyecta, więc działa bez żadnej dodatkowej konfiguracji.

  • "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."