From a948100d0da0d6b26d24c9687c119ec52bdba743 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Tue, 28 Oct 2025 14:37:20 -0500 Subject: [PATCH] add actions to form and wizard --- .../components/overlay/CreateTriggerDialog.tsx | 13 +++++++++++-- .../wizard/Step3ThresholdAndActions.tsx | 18 +++++++++++++++--- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/web/src/components/overlay/CreateTriggerDialog.tsx b/web/src/components/overlay/CreateTriggerDialog.tsx index efbb1dd7b..bc413049d 100644 --- a/web/src/components/overlay/CreateTriggerDialog.tsx +++ b/web/src/components/overlay/CreateTriggerDialog.tsx @@ -79,6 +79,15 @@ export default function CreateTriggerDialog({ const { t } = useTranslation("views/settings"); const { data: config } = useSWR("config"); + const availableActions = useMemo(() => { + if (!config) return []; + + if (config.notifications.enabled) { + return ["notification", "sub_label", "attribute"]; + } + return ["sub_label", "attribute"]; + }, [config]); + const existingTriggerNames = useMemo(() => { if ( !config || @@ -132,7 +141,7 @@ export default function CreateTriggerDialog({ .number() .min(0, t("triggers.dialog.form.threshold.error.min")) .max(1, t("triggers.dialog.form.threshold.error.max")), - actions: z.array(z.enum(["notification"])), + actions: z.array(z.enum(["notification", "sub_label", "attribute"])), }); const form = useForm>({ @@ -383,7 +392,7 @@ export default function CreateTriggerDialog({ {t("triggers.dialog.form.actions.title")}
- {["notification"].map((action) => ( + {availableActions.map((action) => (
("config"); + + const availableActions = useMemo(() => { + if (!config) return []; + + if (config.notifications.enabled) { + return ["notification", "sub_label", "attribute"]; + } + return ["sub_label", "attribute"]; + }, [config]); const formSchema = z.object({ threshold: z .number() .min(0, t("triggers.dialog.form.threshold.error.min")) .max(1, t("triggers.dialog.form.threshold.error.max")), - actions: z.array(z.enum(["notification"])), + actions: z.array(z.enum(["notification", "sub_label", "attribute"])), }); const form = useForm>({ @@ -127,7 +139,7 @@ export default function Step3ThresholdAndActions({ {t("triggers.dialog.form.actions.title")}
- {["notification"].map((action) => ( + {availableActions.map((action) => (