From a22ddb7a0f19f07906b5dd422e7560619965082c Mon Sep 17 00:00:00 2001 From: Stephen Adamson Date: Fri, 29 May 2026 17:55:23 +0100 Subject: [PATCH] fix: remove duplicate and deprecated createService implementation --- .../admin/ServicesManagement.svelte | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/frontend/src/lib/components/admin/ServicesManagement.svelte b/frontend/src/lib/components/admin/ServicesManagement.svelte index 32e4521..6fe707c 100644 --- a/frontend/src/lib/components/admin/ServicesManagement.svelte +++ b/frontend/src/lib/components/admin/ServicesManagement.svelte @@ -128,17 +128,31 @@ let creatingService = $state(false); async function createService() { + updateAllErrors(); + + const hasErrors = Object.values(serviceErrors).some((error) => error !== ''); + if (hasErrors) { + toast.error('Please fix the validation errors before submitting'); + return; + } + + if (!isFormValid) { + toast.error('Form validation failed'); + return; + } + creatingService = true; const loadingToast = toast.loading('Creating service...'); - const payload = { - ...newService, - price: Number(newService.price), - duration_minutes: Number(newService.duration_minutes), - minimum_age_required: Number(newService.minimum_age_required) - }; - try { + const payload = { + name: newService.name.trim(), + description: newService.description.trim() || undefined, + price: Number(newService.price), + duration_minutes: Number(newService.duration_minutes), + minimum_age_required: Number(newService.minimum_age_required) + }; + const response = await fetch('/api/admin/services', { method: 'POST', headers: { @@ -173,6 +187,14 @@ } } + } catch (err) { + console.error('Error creating service:', err); + toast.error('Network error creating service', { id: loadingToast }); + } finally { + creatingService = false; + } + } + function resetServiceForm() { newService = { name: '',