From 66fa4e77fdf233523eb0eabb16ea65d94f441aaf Mon Sep 17 00:00:00 2001 From: Rodribm10 Date: Mon, 13 Apr 2026 23:57:11 -0300 Subject: [PATCH] feat: form components StayDetailsStep, ImageGallery, PriceSummary, CustomerForm --- src/components/reservation/CustomerForm.tsx | 62 +++++++++++++++ src/components/reservation/ImageGallery.tsx | 28 +++++++ src/components/reservation/PriceSummary.tsx | 31 ++++++++ .../reservation/StayDetailsStep.tsx | 78 +++++++++++++++++++ 4 files changed, 199 insertions(+) create mode 100644 src/components/reservation/CustomerForm.tsx create mode 100644 src/components/reservation/ImageGallery.tsx create mode 100644 src/components/reservation/PriceSummary.tsx create mode 100644 src/components/reservation/StayDetailsStep.tsx diff --git a/src/components/reservation/CustomerForm.tsx b/src/components/reservation/CustomerForm.tsx new file mode 100644 index 0000000..f94ad66 --- /dev/null +++ b/src/components/reservation/CustomerForm.tsx @@ -0,0 +1,62 @@ +import { FormField } from '@/components/FormField' +import { maskCPF, maskPhone } from '@/lib/formatters' +import type { ReservationFormState } from '@/hooks/useReservationForm' + +interface Props { + form: ReservationFormState + onChange: (k: K, v: ReservationFormState[K]) => void +} + +export function CustomerForm({ form, onChange }: Props) { + return ( +
+

Seus dados

+ + onChange('nome', e.target.value)} + /> + +
+ onChange('telefone', maskPhone(e.target.value))} + /> + onChange('cpf', maskCPF(e.target.value))} + /> +
+ + onChange('email', e.target.value)} + /> + +
+ +