Lewati ke konten

Formulir

Formulir kontak, penawaran, pemesanan, dan pendaftaran yang sudah siap pakai. AI menempatkannya dengan satu komponen — tanpa perlu menulis submit handler — dan setiap pengiriman masuk ke kotak masuk pengiriman aplikasi Anda.

Formulir di Proyecta adalah sebuah kapabilitas, bukan sesuatu yang dikode secara manual oleh AI. Ketika aplikasi Anda membutuhkan cara bagi pengunjung untuk menghubungi Anda — formulir kontak, permintaan penawaran, pemesanan janji temu, atau pendaftaran acara — Proyecta menyediakan definisi formulir yang sudah jadi dan merendernya melalui block milik template. Validasi, tampilan sukses, penyimpanan pengiriman, dan notifikasi ke pemilik semuanya tersedia secara otomatis.

Setiap formulir dimulai dari salah satu dari lima preset bawaan. Deskripsikan formulir yang Anda inginkan dan Proyecta akan memilih (dan menyesuaikan) yang tepat — Anda tidak perlu membangun field dari awal.

Preset form api id Kegunaannya Dipasangkan dengan
Contact contactForm “Hubungi kami” umum: nama, email, telepon opsional, pesan Informasi bisnis
Quote quoteForm Permintaan penawaran: data kontak + layanan yang dipilih + detail pekerjaan Layanan
Booking bookingForm Pemesanan janji temu: layanan, tanggal & waktu yang diinginkan, data kontak Layanan
Registration registrationForm Pendaftaran acara atau kursus (RSVP): data peserta + catatan Acara
Order orderForm Penerimaan pesanan: apa yang diinginkan pelanggan, data kontak, catatan Menu, katalog

Anda dapat memiliki beberapa formulir dalam satu aplikasi (misalnya formulir kontak dan formulir pemesanan), dan AI dapat menambahkan, mengganti nama, atau mengubah field pada formulir mana pun.

AI tidak pernah membangun formulir atau submit handler secara manual. AI menempatkan <FormBlock/> milik template dan mengarahkannya ke sebuah formulir berdasarkan id atau api id:

import { FormBlock } from '@/components/blocks/FormBlock';
// Di mana saja pada halaman publik — bagian kontak, panel "minta penawaran", dsb.
<FormBlock form="contactForm" />;

<FormBlock/> mengerjakan semuanya sendiri:

  • Merender field berdasarkan tipenya — teks / email / telepon sebagai input, teks panjang sebagai textarea, pilihan sebagai dropdown, opt-in sebagai checkbox, tanggal dan waktu sebagai native picker, serta field file sebagai kontrol “lampirkan file”.
  • Memvalidasi di browser — field yang wajib diisi diperiksa sebelum apa pun dikirim.
  • Memvalidasi di server — jika server menolak sebuah nilai, error spesifik akan ditampilkan secara inline di samping field tersebut (tidak ada pengiriman yang hilang, tidak ada kegagalan tersembunyi).
  • Menampilkan tampilan sukses — setelah pengiriman, formulir digantikan oleh konfirmasi yang ramah (pesan konfirmasi milik formulir itu sendiri) dengan opsi untuk mengirim respons lagi.
  • Gagal dengan aman — jika formulir tidak ada atau telah dinonaktifkan, block tidak merender apa pun, sehingga tidak pernah merusak halaman publik.

Karena block ini milik template, tugas AI hanyalah menempatkannya dan menata bagian sekitarnya — mekanisme di baliknya sudah tetap dan benar.

Formulir dapat menerima file yang diunggah (kuitansi, foto referensi, atau brief). Field file merender tombol “lampirkan file”, mengunggah file ke storage, dan memasukkan URL publiknya ke dalam pengiriman. Batas-batas berikut diterapkan secara otomatis:

  • Hanya gambar dan PDF, hingga 5 MB (gambar berukuran besar akan diperkecil di browser terlebih dahulu).
  • Tombol submit dinonaktifkan saat file sedang diunggah, sehingga pengiriman tidak pernah terkirim setengah jadi.

Setiap pengiriman disimpan dan muncul di kotak masuk pengiriman aplikasi Anda — bagian dari panel admin, yang dirender oleh <SubmissionsInbox/> milik template. Dari sana, Anda (pemilik) dapat:

  • Menelusuri pengiriman di tab New / Read / Archived, dengan badge belum dibaca pada New.
  • Membuka pengiriman mana pun untuk melihat nilai field yang dikirimkan, halaman asalnya, dan tanggalnya.
  • Menandai pengiriman sebagai read, memindahkannya kembali ke new, atau melakukan archive.
  • Memfilter kotak masuk ke satu formulir tertentu, atau melihat pengiriman semua formulir dalam satu daftar.

Kotak masuk hanya dapat diakses oleh admin — pembaca harus masuk dengan akun admin (diberlakukan di server).

Formulir dapat memberi tahu Anda melalui email setiap kali seseorang mengirimkan — aktifkan notifikasi pemilik dan atur alamat yang harus menerimanya. Anda mendapatkan prospek di kotak masuk email Anda tanpa perlu membuka aplikasi. Email tersebut dikirim melalui kapabilitas email Proyecta, sehingga berfungsi tanpa konfigurasi tambahan.

Pola umum (biarkan AI yang menghubungkannya)

Section titled “Pola umum (biarkan AI yang menghubungkannya)”
  • "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."
  • Content Management — formulir berada bersama koleksi Anda dalam model konten yang sama.
  • Admin Panel — tempat pengiriman ditinjau.
  • Emails — cara email notifikasi pemilik dikirimkan.