From 2e849857f225a6b1105581231f667d2f16d230e4 Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Wed, 20 Aug 2025 17:57:12 +0300 Subject: [PATCH] feat(number-field): add min prop to NumberField and implement minimum value validation in ServiceDataCard - Introduced a `min` prop to the NumberField component to enforce minimum value constraints. - Updated ServiceDataCard to set the minimum price to 0, enhancing input validation for service pricing. --- apps/web/components/profile/services/service-data-card.tsx | 1 + apps/web/components/shared/data-fields/number-field.tsx | 3 +++ 2 files changed, 4 insertions(+) diff --git a/apps/web/components/profile/services/service-data-card.tsx b/apps/web/components/profile/services/service-data-card.tsx index c430232..0768d94 100644 --- a/apps/web/components/profile/services/service-data-card.tsx +++ b/apps/web/components/profile/services/service-data-card.tsx @@ -39,6 +39,7 @@ export function ServiceDataCard({ serviceId }: Readonly) { mutate({ data: { price } })} value={service?.price ?? null} /> diff --git a/apps/web/components/shared/data-fields/number-field.tsx b/apps/web/components/shared/data-fields/number-field.tsx index fe1f5a1..3abede5 100644 --- a/apps/web/components/shared/data-fields/number-field.tsx +++ b/apps/web/components/shared/data-fields/number-field.tsx @@ -9,6 +9,7 @@ type FieldProps = { readonly disabled?: boolean; readonly id: string; readonly label: string; + readonly min?: number; readonly onChange?: (value: null | number) => Promise | void; readonly readOnly?: boolean; readonly value: null | number; @@ -18,6 +19,7 @@ export function NumberField({ disabled = false, id, label, + min, onChange, readOnly, value: initialValue, @@ -46,6 +48,7 @@ export function NumberField({ className="bg-secondary outline-none focus:ring-0 focus:ring-offset-0" disabled={disabled || isPending} id={id} + min={min} onChange={handleChange} readOnly={readOnly} ref={inputRef}