From 47baf8dfe214f0fe0b351bfe333a400fe35df2e4 Mon Sep 17 00:00:00 2001 From: Asya Vee Date: Tue, 26 Aug 2025 18:06:44 +0400 Subject: [PATCH] booking form validation and data types --- apps/pocketbase/pb_data/auxiliary.db | Bin 888832 -> 901120 bytes apps/web/app/page.tsx | 2 +- apps/web/components/BookingForm.tsx | 299 ++++++-------------- apps/web/components/BookingSummary.tsx | 78 +++++ apps/web/components/BookingTypeSelector.tsx | 68 +++++ apps/web/components/CustomerDetails.tsx | 116 ++++++++ apps/web/components/DateSelector.tsx | 67 +++++ apps/web/components/TimeSlotSelector.tsx | 53 ++++ apps/web/package.json | 1 + apps/web/types/bookings.ts | 243 +++++++++++----- pnpm-lock.yaml | 13 + 11 files changed, 661 insertions(+), 279 deletions(-) create mode 100644 apps/web/components/BookingSummary.tsx create mode 100644 apps/web/components/BookingTypeSelector.tsx create mode 100644 apps/web/components/CustomerDetails.tsx create mode 100644 apps/web/components/DateSelector.tsx create mode 100644 apps/web/components/TimeSlotSelector.tsx diff --git a/apps/pocketbase/pb_data/auxiliary.db b/apps/pocketbase/pb_data/auxiliary.db index 9879ecb94d982e8240f46ed94c82286ab7e33343..ad6147411217a6c102f0c293fefb86cf831eea2f 100644 GIT binary patch delta 2596 zcmbtWeQ*=U6~EoP)1FQzop5bOH4L!>HXp{~BuhHkSOZEaC2>LoCO|a_ShlexS<=b) zgO6#b9UEIr>44)g&zYno&bSTCm`09UHcdMXFiDfrCSzzQO&T(up-J1crO+0pO)2f^ zOi4Wx|J51k_uGB%cK6+H-`lXG^ULWW^J7%X0m7EaWU$-IUY6Ny)wz zaZ*51CpXW#B1*dL{fwsLdzt9umlm9zIWkDLk$X)an@$duq|ZY3 z8W{uSTSUeBw%$HMe#yZg5S9MsC@HQ&S;|ilE5dv?64lzv4G= zuXELGmMz22;yjdLZZjQ&!37ZdwmE~j^c_YyK8XG?LpNsVI@OIeY_5}mmJ{YW%q;^n zZr%vBCvzP<)3Lu`-VD#3)WPr_A2Zj{#uv;RkkQ91GsF0wclZx?_^`qB)f47H7NbW_ zWzAd&?HuOCa*Vz?tcas*90do1^M|jCb?6}o?q?UlJNHPX;QC8W{u;5rvRNa?lH+bPUZ1G$2YvhIH@)QL@e0c11)tY)R=b77?2u zlM-t|Xb@k5U!=shfHvs1XEgDlQ+7$$v7Wp}Nw+kL^T?mc@5vQ%nOq|0$bb zK-Ny|pp9^2%kD0uI;;F@xZj;g>C^P8nOI=<#Q~^*F9PMJ4 z@3KBjU;9KVLZy|}Gco(C+~GcRCYg(9N&k|-tb+zdH(BOG_AJ`MIX!MKC@X}6xtV_Z zSuj4Q-|r9WswM8KHYcR|BQe6Yed`#Ps2H2h_mqTLwxBQ6bm|@Jf?UajGsaoN?p5 zP=COBCjagm=o>HUJ021g<0#3M-8vYVMjjfpTQlVAb5%}yE{8UkBQ=*JIhP~hU>iQa zpj+n}^8XwGPM+$YR40&_D*=MAWV+1~_keYdp` ord|~nAKl5tO>Wg$sk&jbQ#uI6@8VJ#I>(vOXZ7aSbK4jG4+ul#LjV8( delta 1405 zcmXw3e@xX?6#t%k@AuvJ{q??2=K};46%-*Po(WGBgr`PmsSi+5Q+z0uIOTz1Sidjs3{cbQ_S0{DXw(QO@pRw_(#zy*K|66jM7rp_krE*?w<2G=X1~5=bqiF zDo@qn^oAIDv?NKr!Live`n3O;X+NURwg9QOQ+LjRPG89*wR85Ui!ViRGcAl?G=DQM zo9$+u888dXG!fkmF($JDC(wJ^9wql!W?k4ESrb?#0;`}Y)iFjYl32VpptWfQ>Qjtp zfGLdbrBNcU0hZedSFZVsLLf=75EHgA6bc|KJt_hC;IbA8YH1Tn47Ln#!)?vA>uM&m zwk)n@+B|U(LfLO?!~=d?H=+KZcZAqhVmk(wjqz)2nJ!C8S76IKfy#`^vbUyg+~o0W zh7ZK%HMaT=NI==iCt$LZ&%*Uiz6=Vn(qmhQtuee%tR2P=mg|w=mdp-wsmZ{N!>fi8 zUFeVD*_af?mtgfCo+jMYyxUPGUzZ}K0g3%>#yN70GQCbarT(b&D^V<(W)VNs*k?ex zG+?Lv3J>z7Jl1y0_Bs2B9b#{?6#5rEPj}JYxy!rC+5sn^*op zZkAWd@$63HxQbK^-RBO>f5NBXCy)6U>Y;C2qPnmGd8}~k<1H*aP`&8i$8TT|xkvoo z%*STHDIs@r18_tSUkue^Z4ZA)VJ5cRQ>Kfi8$586HN$cVoz--Lm>jYv1Ae$(9Vu$d z)vX|IpRq^YT?P$Og5;Ojr}_zfkq+8P?RCwrexa^bP30S<%w7jsW}M`w#Z)6-k~he3 zR%9GD=EDW{O#jD`YyZVg_*UCJTd90g_L*CxPRD+FmAvxuB5bJAiU^f3bX2J&q#xbw zNPeAKrMtF=-o!+@LHt42)7N>RdheJ-r*Ujte9I> z28H(Z!9?`=yEFGF1FsU5^gW;Yh4JV;_N8<*GxBX*V+Db57l=S;YGVuhLtI x_-eZ@%T|>~{LXvSvt5;HZhix)@pM*rPK|Mf3XuIJv{sWZ4uB`w7 diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index e1000e2..c3f1ca3 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -8,7 +8,7 @@ export default function Home() {