From 0748b8732ef4577f507f7e8c9689938afa2f6939 Mon Sep 17 00:00:00 2001 From: "Calum H. (IMB11)" Date: Mon, 24 Aug 2026 13:11:11 +0100 Subject: [PATCH] fix: qa --- packages/ui/src/components/base/Toggle.vue | 22 +++-- .../components/ContentCardItem.vue | 30 +++++-- .../components/ContentCardTable.vue | 5 +- .../components/ContentEnabledFor.vue | 22 +++-- .../managed-content-modal/index.vue | 9 +- .../src/layouts/shared/content-tab/layout.vue | 15 ++-- .../src/layouts/shared/content-tab/types.ts | 1 - .../wrapped/hosting/manage/content.vue | 88 +++++++++++++------ .../ui/src/stories/base/Toggle.stories.ts | 16 +++- 9 files changed, 138 insertions(+), 70 deletions(-) diff --git a/packages/ui/src/components/base/Toggle.vue b/packages/ui/src/components/base/Toggle.vue index a44ef755d4..1de36dc648 100644 --- a/packages/ui/src/components/base/Toggle.vue +++ b/packages/ui/src/components/base/Toggle.vue @@ -3,12 +3,12 @@ :id="id" type="button" role="switch" - :aria-checked="modelValue" + :aria-checked="indeterminate ? 'mixed' : modelValue" :disabled="disabled" class="group inline-flex shrink-0 touch-manipulation items-center rounded-full m-0 p-1 transition-all duration-200 cursor-pointer border-none" :class="[ small ? 'h-5 !w-[40px]' : 'h-6 !w-[48px]', - modelValue ? 'bg-brand' : 'bg-button-bg', + indeterminate || modelValue ? 'bg-brand' : 'bg-button-bg', disabled ? 'opacity-50 cursor-not-allowed' : '', ]" @click="toggle" @@ -16,14 +16,21 @@ @@ -431,14 +448,11 @@ const installTooltip = computed(() => { {{ formatMessage(commonMessages.actionsLabel) diff --git a/packages/ui/src/layouts/shared/content-tab/components/ContentEnabledFor.vue b/packages/ui/src/layouts/shared/content-tab/components/ContentEnabledFor.vue index 51c0ad126f..f1e5a0fe38 100644 --- a/packages/ui/src/layouts/shared/content-tab/components/ContentEnabledFor.vue +++ b/packages/ui/src/layouts/shared/content-tab/components/ContentEnabledFor.vue @@ -17,7 +17,15 @@ const messages = defineMessages({ }, locked: { id: 'content.enabled-for.locked', - defaultMessage: 'Unlock the environment controls from the row menu to change this selection.', + defaultMessage: 'These choices are locked. Select Unlock from the row menu to change them.', + }, + requiredHere: { + id: 'content.enabled-for.required-here', + defaultMessage: 'This content needs to be enabled here to work correctly.', + }, + notSupportedHere: { + id: 'content.enabled-for.not-supported-here', + defaultMessage: "This content isn't designed to be enabled here.", }, }) @@ -50,6 +58,12 @@ function isDisabled(side: ContentSide) { return props.disabled || disabledSides.value.has(side) } +function getDisabledTooltip(side: ContentSide) { + if (props.disabled) return props.disabledTooltip + if (!disabledSides.value.has(side)) return undefined + return formatMessage(isSelected(side) ? messages.requiredHere : messages.notSupportedHere) +} + function toggle(side: ContentSide) { if (isDisabled(side)) return emit('update:model-value', side, !isSelected(side)) @@ -61,11 +75,7 @@ function toggle(side: ContentSide) {