fix validation & implement profile page (#5)

* fix validation

* implement profile page

* catch error
This commit is contained in:
UUBulb
2024-11-26 21:20:56 +08:00
committed by GitHub
parent b0476bc3a3
commit 7325939198
13 changed files with 258 additions and 43 deletions
+5 -9
View File
@@ -54,21 +54,17 @@ const serviceFormSchema = z.object({
duration: z.coerce.number().int().min(30),
enable_show_in_service: asOptionalField(z.boolean()),
enable_trigger_task: asOptionalField(z.boolean()),
fail_trigger_tasks: z.array(z.string()).transform((v => {
return v.filter(Boolean).map(Number);
})),
fail_trigger_tasks: z.array(z.number()),
latency_notify: asOptionalField(z.boolean()),
max_latency: z.coerce.number().int().min(0),
min_latency: z.coerce.number().int().min(0),
name: z.string().min(1),
notification_group_id: z.coerce.number().int(),
notify: asOptionalField(z.boolean()),
recover_trigger_tasks: z.array(z.string()).transform((v => {
return v.filter(Boolean).map(Number);
})),
recover_trigger_tasks: z.array(z.number()),
skip_servers: z.record(z.boolean()),
skip_servers_raw: z.array(z.string()),
target: z.string().url(),
target: z.string(),
type: z.coerce.number().int().min(0),
});
@@ -385,7 +381,7 @@ export const ServiceCard: React.FC<ServiceCardProps> = ({ data, mutate }) => {
{...field}
value={conv.arrToStr(field.value ?? [])}
onChange={e => {
const arr = conv.strToArr(e.target.value);
const arr = conv.strToArr(e.target.value).map(Number);
field.onChange(arr);
}}
/>
@@ -406,7 +402,7 @@ export const ServiceCard: React.FC<ServiceCardProps> = ({ data, mutate }) => {
{...field}
value={conv.arrToStr(field.value ?? [])}
onChange={e => {
const arr = conv.strToArr(e.target.value);
const arr = conv.strToArr(e.target.value).map(Number);
field.onChange(arr);
}}
/>