From 92c51a10deff176519fc41b26e3ad0fe4669bcd2 Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Tue, 24 Jun 2025 16:33:42 +0530 Subject: [PATCH] chore: Update captain FAQ bulk action UI (#11780) --- .../captain/assistant/ResponseCard.vue | 2 +- .../i18n/locale/en/integrations.json | 2 + .../dashboard/captain/responses/Index.vue | 42 ++++++++++++++----- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/app/javascript/dashboard/components-next/captain/assistant/ResponseCard.vue b/app/javascript/dashboard/components-next/captain/assistant/ResponseCard.vue index f00354105..7879411c8 100644 --- a/app/javascript/dashboard/components-next/captain/assistant/ResponseCard.vue +++ b/app/javascript/dashboard/components-next/captain/assistant/ResponseCard.vue @@ -123,7 +123,7 @@ const handleDocumentableClick = () => { @mouseenter="emit('hover', true)" @mouseleave="emit('hover', false)" > -
+
diff --git a/app/javascript/dashboard/i18n/locale/en/integrations.json b/app/javascript/dashboard/i18n/locale/en/integrations.json index 071c95604..41f63d0a2 100644 --- a/app/javascript/dashboard/i18n/locale/en/integrations.json +++ b/app/javascript/dashboard/i18n/locale/en/integrations.json @@ -537,6 +537,8 @@ "CONVERSATION": "Conversation #{id}" }, "SELECTED": "{count} selected", + "SELECT_ALL": "Select all ({count})", + "UNSELECT_ALL": "Unselect all ({count})", "BULK_APPROVE_BUTTON": "Approve", "BULK_DELETE_BUTTON": "Delete", "BULK_APPROVE": { diff --git a/app/javascript/dashboard/routes/dashboard/captain/responses/Index.vue b/app/javascript/dashboard/routes/dashboard/captain/responses/Index.vue index 258e1c0c9..e771e72ed 100644 --- a/app/javascript/dashboard/routes/dashboard/captain/responses/Index.vue +++ b/app/javascript/dashboard/routes/dashboard/captain/responses/Index.vue @@ -157,6 +157,13 @@ const bulkCheckbox = computed({ }, }); +const buildSelectedCountLabel = computed(() => { + const count = responses.value?.length || 0; + return bulkSelectionState.value.allSelected + ? t('CAPTAIN.RESPONSES.UNSELECT_ALL', { count }) + : t('CAPTAIN.RESPONSES.SELECT_ALL', { count }); +}); + const handleCardHover = (isHovered, id) => { hoveredCard.value = isHovered ? id : null; }; @@ -270,7 +277,11 @@ onMounted(() => {