From 3e27e28848a27977a30e41037842d4b694d936bc Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Wed, 29 Oct 2025 09:17:42 +0530 Subject: [PATCH] chore: Update captain pending FAQ interface (#12752) # Pull Request Template ## Description **This PR includes,** - Added new pending FAQs view with approve/edit/delete actions for each response. - Implemented banner notification showing pending FAQ count on main approved responses page. - Created dedicated route for pending FAQs review at /captain/responses/pending. - Added automatic pending count updates when switching assistants or routes. - Modified ResponseCard component to show action buttons instead of dropdown in pending view. Fixes https://linear.app/chatwoot/issue/CW-5833/pending-faqs-in-a-different-ux ## Type of change - [x] New feature (non-breaking change which adds functionality) ## How Has This Been Tested? ### Loom video https://www.loom.com/share/5fe8f79b04cd4681b9360c48710b9373 ## Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my code - [x] I have commented on my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules --------- Co-authored-by: Pranav --- .../captain/assistant/ResponseCard.vue | 142 ++++-- .../i18n/locale/en/integrations.json | 11 +- .../dashboard/captain/captain.routes.js | 14 + .../dashboard/captain/responses/Index.vue | 140 ++---- .../dashboard/captain/responses/Pending.vue | 412 ++++++++++++++++++ .../dashboard/store/captain/response.js | 26 ++ .../dashboard/store/captain/storeFactory.js | 8 +- 7 files changed, 591 insertions(+), 162 deletions(-) create mode 100644 app/javascript/dashboard/routes/dashboard/captain/responses/Pending.vue diff --git a/app/javascript/dashboard/components-next/captain/assistant/ResponseCard.vue b/app/javascript/dashboard/components-next/captain/assistant/ResponseCard.vue index a924ca228..97227c35d 100644 --- a/app/javascript/dashboard/components-next/captain/assistant/ResponseCard.vue +++ b/app/javascript/dashboard/components-next/captain/assistant/ResponseCard.vue @@ -9,6 +9,7 @@ import DropdownMenu from 'dashboard/components-next/dropdown-menu/DropdownMenu.v import Button from 'dashboard/components-next/button/Button.vue'; import Checkbox from 'dashboard/components-next/checkbox/Checkbox.vue'; import Policy from 'dashboard/components/policy.vue'; +import Icon from 'dashboard/components-next/icon/Icon.vue'; const props = defineProps({ id: { @@ -59,6 +60,10 @@ const props = defineProps({ type: Boolean, default: true, }, + showActions: { + type: Boolean, + default: false, + }, }); const emit = defineEmits(['action', 'navigate', 'select', 'hover']); @@ -159,73 +164,116 @@ const handleDocumentableClick = () => { {{ answer }} -