diff --git a/packages/widgets/src/modals/widget-edit-modal.tsx b/packages/widgets/src/modals/widget-edit-modal.tsx index 7a6f92042..574911492 100644 --- a/packages/widgets/src/modals/widget-edit-modal.tsx +++ b/packages/widgets/src/modals/widget-edit-modal.tsx @@ -92,8 +92,17 @@ export const WidgetEditModal = createModal>(({ actions, i {Object.entries(definition.options).map(([key, value]: [string, OptionsBuilderResult[string]]) => { const Input = getInputForType(value.type); - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (!Input || value.shouldHide?.(form.values.options as never)) { + if ( + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + !Input || + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + value.shouldHide?.( + form.values.options as never, + innerProps.integrationData + .filter(({ id }) => form.values.integrationIds.includes(id)) + .map(({ kind }) => kind), + ) + ) { return null; } diff --git a/packages/widgets/src/options.ts b/packages/widgets/src/options.ts index d9d71d667..abe108dfb 100644 --- a/packages/widgets/src/options.ts +++ b/packages/widgets/src/options.ts @@ -1,5 +1,5 @@ import { objectEntries } from "@homarr/common"; -import type { WidgetKind } from "@homarr/definitions"; +import type { IntegrationKind, WidgetKind } from "@homarr/definitions"; import type { ZodType } from "@homarr/validation"; import { z } from "@homarr/validation"; @@ -123,7 +123,7 @@ export type inferOptionsFromDefinition = { }; interface FieldConfiguration { - shouldHide: (options: inferOptionsFromDefinition) => boolean; + shouldHide: (options: inferOptionsFromDefinition, integrationKinds: IntegrationKind[]) => boolean; } type ConfigurationInput = Partial<