Skip to content

Commit ebd415e

Browse files
committed
fix: make contract and to addresses optional in webhook form
1 parent f89c15c commit ebd415e

File tree

2 files changed

+23
-9
lines changed

2 files changed

+23
-9
lines changed

apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/components/FilterDetailsStep.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ export function FilterDetailsStep({
192192
<FormItem className="flex flex-col">
193193
<div className="flex items-center justify-between text-xs">
194194
<FormLabel>
195-
Contract Addresses <span className="text-red-500">*</span>
195+
Contract Addresses
196196
</FormLabel>
197197
<p className="text-muted-foreground">
198198
Enter a contract address
@@ -282,7 +282,7 @@ export function FilterDetailsStep({
282282
<FormItem className="flex flex-col">
283283
<div className="flex items-center justify-between text-xs">
284284
<FormLabel>
285-
To Address <span className="text-red-500">*</span>
285+
To Address
286286
</FormLabel>
287287
<p className="text-muted-foreground">Enter a to address</p>
288288
</div>

apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/webhooks/utils/webhookTypes.ts

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,25 +36,39 @@ export const webhookFormSchema = z.object({
3636
.min(1, { message: "Select at least one chain" }),
3737
addresses: z
3838
.string()
39-
.min(1, { message: "Addresses is required" })
40-
.refine((val) => val.split(/[\,\s]+/).every((a) => isAddress(a.trim())), {
41-
message: "Enter a valid address",
42-
}),
39+
.optional()
40+
.refine(
41+
(val) => {
42+
if (val === undefined || val.trim() === "") {
43+
return true;
44+
}
45+
return val.split(/[\,\s]+/).filter(Boolean).every((a) => isAddress(a.trim()));
46+
},
47+
{
48+
message: "Enter valid addresses (comma-separated) or leave empty",
49+
},
50+
),
4351
fromAddresses: z
4452
.string()
4553
.optional()
4654
.refine(
4755
(val) => !val || val.split(/[,\s]+/).every((a) => isAddress(a.trim())),
4856
{
49-
message: "Enter a valid address",
57+
message: "Enter valid addresses (comma-separated) or leave empty",
5058
},
5159
),
5260
toAddresses: z
5361
.string()
62+
.optional()
5463
.refine(
55-
(val) => !val || val.split(/[,\s]+/).every((a) => isAddress(a.trim())),
64+
(val) => {
65+
if (val === undefined || val.trim() === "") {
66+
return true;
67+
}
68+
return val.split(/[\,\s]+/).filter(Boolean).every((a) => isAddress(a.trim()));
69+
},
5670
{
57-
message: "Enter a valid address (comma-separated)",
71+
message: "Enter valid addresses (comma-separated) or leave empty",
5872
},
5973
),
6074
sigHash: z.string().optional(),

0 commit comments

Comments
 (0)