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.
Presety
Dział zatytułowany „Presety”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.
Jak AI to łączy
Dział zatytułowany „Jak AI to łączy”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.
Załączniki plików
Dział zatytułowany „Załączniki plików”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.
Gdzie trafiają zgłoszenia
Dział zatytułowany „Gdzie trafiają zgłoszenia”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).
Otrzymywanie e-maila przy każdym zgłoszeniu
Dział zatytułowany „Otrzymywanie e-maila przy każdym zgłoszeniu”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.
Typowe scenariusze (niech AI to połączy)
Dział zatytułowany „Typowe scenariusze (niech AI to połączy)”"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."
Powiązane
Dział zatytułowany „Powiązane”- Zarządzanie treścią — formularze współistnieją z Twoimi kolekcjami w tym samym modelu treści.
- Panel administracyjny — miejsce, w którym przeglądasz zgłoszenia.
- E-maile — sposób wysyłania powiadomień e-mail do właściciela.