From e0a928cda1c3d4a33e43153ead122cb3e6bcb072 Mon Sep 17 00:00:00 2001 From: samad13 Date: Mon, 1 Jun 2026 22:02:31 +0100 Subject: [PATCH] done form --- app/(dashboard)/deliveries/create/page.tsx | 6 +- .../components/CreateDeliveryForm.tsx | 199 ++++++++++++++++++ hooks/useCreateDelivery.ts | 89 ++++++++ services/deliveries.service.ts | 21 +- 4 files changed, 311 insertions(+), 4 deletions(-) create mode 100644 features/deliveries/components/CreateDeliveryForm.tsx create mode 100644 hooks/useCreateDelivery.ts diff --git a/app/(dashboard)/deliveries/create/page.tsx b/app/(dashboard)/deliveries/create/page.tsx index 5321f78..6dfaa66 100644 --- a/app/(dashboard)/deliveries/create/page.tsx +++ b/app/(dashboard)/deliveries/create/page.tsx @@ -1,11 +1,13 @@ export const dynamic = 'force-dynamic'; +import { CreateDeliveryForm } from '@/features/deliveries/components/CreateDeliveryForm'; import { CurrencyConverter } from '@/features/deliveries/components/CurrencyConverter'; export default function CreateDeliveryPage() { return ( -
+
+
); -} \ No newline at end of file +} diff --git a/features/deliveries/components/CreateDeliveryForm.tsx b/features/deliveries/components/CreateDeliveryForm.tsx new file mode 100644 index 0000000..043b9ba --- /dev/null +++ b/features/deliveries/components/CreateDeliveryForm.tsx @@ -0,0 +1,199 @@ +'use client'; + +import { useCreateDelivery } from '@/hooks/useCreateDelivery'; + +export function CreateDeliveryForm() { + const { form, isSubmitting, isSuccess, onSubmit } = useCreateDelivery(); + + const { + register, + handleSubmit, + formState: { errors, isValid }, + } = form; + + return ( +
+
+

+ Create a new logistics request +

+

+ Fill in pickup, destination, package details, and recipient contact + information. +

+
+ +
+
+ + + +
+ +
+ + +