({ data }: { data: MCPData })
| 51 | }; |
| 52 | |
| 53 | export function EditMCPForm({ data }: { data: MCPData }) { |
| 54 | const { execute, isExecuting } = useAction(updateMCPListingAction, { |
| 55 | onSuccess: () => { |
| 56 | toast.success("MCP listing updated successfully"); |
| 57 | }, |
| 58 | onError: () => { |
| 59 | toast.error("Failed to update MCP listing"); |
| 60 | }, |
| 61 | }); |
| 62 | |
| 63 | const form = useForm<z.infer<typeof formSchema>>({ |
| 64 | resolver: zodResolver(formSchema), |
| 65 | defaultValues: { |
| 66 | company_id: data?.company_id ?? "", |
| 67 | name: data?.name ?? "", |
| 68 | description: data?.description ?? "", |
| 69 | link: data?.link ?? "", |
| 70 | logo: data?.logo ?? "", |
| 71 | }, |
| 72 | }); |
| 73 | |
| 74 | const onSubmit = (values: z.infer<typeof formSchema>) => { |
| 75 | execute({ |
| 76 | id: data.id, |
| 77 | company_id: values.company_id, |
| 78 | name: values.name, |
| 79 | description: values.description, |
| 80 | link: values.link, |
| 81 | logo: values.logo, |
| 82 | config: null, |
| 83 | }); |
| 84 | }; |
| 85 | |
| 86 | const setLogo = (logo: string) => { |
| 87 | form.setValue("logo", logo); |
| 88 | }; |
| 89 | |
| 90 | return ( |
| 91 | <Form {...form}> |
| 92 | <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6"> |
| 93 | <div className="space-y-6 pb-6"> |
| 94 | <UploadLogo |
| 95 | prefix="mcp" |
| 96 | onUpload={setLogo} |
| 97 | image={form.watch("logo")} |
| 98 | /> |
| 99 | |
| 100 | <FormField |
| 101 | control={form.control} |
| 102 | name="name" |
| 103 | render={({ field }) => ( |
| 104 | <FormItem> |
| 105 | <FormLabel>Name</FormLabel> |
| 106 | <FormControl> |
| 107 | <Input |
| 108 | placeholder="Resend" |
| 109 | {...field} |
| 110 | className="placeholder:text-[#878787] border-border" |
nothing calls this directly
no outgoing calls
no test coverage detected