From 2485bc242d9e0c44e5e5f5f9c7473f939c31ae63 Mon Sep 17 00:00:00 2001 From: aakashb95 Date: Tue, 21 Jul 2026 12:11:55 +0530 Subject: [PATCH] fix(captain): clean up FAQ suggestion review flow --- .../dashboard/api/captain/response.js | 3 +- .../emptyStates/ResponsePageEmptyState.vue | 44 +----- .../overview/CoverageBanner.vue | 23 ++-- .../pageComponents/overview/KnowledgeCard.vue | 15 +- .../FaqSuggestionReviewDialog.spec.js | 74 ++++++++++ .../response/FaqSuggestionReviewDialog.vue | 21 +++ .../switcher/AssistantSwitcher.vue | 10 -- .../components-next/sidebar/Sidebar.vue | 2 +- .../i18n/locale/en/integrations.json | 32 ++--- .../dashboard/captain/captain.routes.js | 18 ++- .../captain/responses/FaqSuggestions.spec.js | 129 ++++++++++++++++++ .../{Pending.vue => FaqSuggestions.vue} | 66 ++++++++- .../dashboard/captain/responses/Index.vue | 101 +++++++++++--- .../dashboard/store/captain/bulkActions.js | 14 -- .../dashboard/store/captain/faqSuggestions.js | 18 ++- .../store/captain/faqSuggestions.spec.js | 47 +++++++ .../dashboard/store/captain/response.js | 50 +------ .../captain/assistant_stats_builder.rb | 11 +- .../captain/assistant_responses_controller.rb | 7 +- .../captain/bulk_actions_controller.rb | 12 +- .../app/models/captain/assistant_response.rb | 2 +- .../captain/assistant_stats_builder_spec.rb | 9 +- .../assistant_responses_controller_spec.rb | 13 ++ .../captain/bulk_actions_controller_spec.rb | 61 +++------ .../assistant_migration/draft_applier_spec.rb | 18 --- 25 files changed, 541 insertions(+), 259 deletions(-) create mode 100644 app/javascript/dashboard/components-next/captain/pageComponents/response/FaqSuggestionReviewDialog.spec.js create mode 100644 app/javascript/dashboard/routes/dashboard/captain/responses/FaqSuggestions.spec.js rename app/javascript/dashboard/routes/dashboard/captain/responses/{Pending.vue => FaqSuggestions.vue} (78%) create mode 100644 app/javascript/dashboard/store/captain/faqSuggestions.spec.js diff --git a/app/javascript/dashboard/api/captain/response.js b/app/javascript/dashboard/api/captain/response.js index d48bd81c7..114bde67d 100644 --- a/app/javascript/dashboard/api/captain/response.js +++ b/app/javascript/dashboard/api/captain/response.js @@ -6,14 +6,13 @@ class CaptainResponses extends ApiClient { super('captain/assistant_responses', { accountScoped: true }); } - get({ page = 1, search, assistantId, documentId, status } = {}) { + get({ page = 1, search, assistantId, documentId } = {}) { return axios.get(this.url, { params: { page, search, assistant_id: assistantId, document_id: documentId, - status, }, }); } diff --git a/app/javascript/dashboard/components-next/captain/pageComponents/emptyStates/ResponsePageEmptyState.vue b/app/javascript/dashboard/components-next/captain/pageComponents/emptyStates/ResponsePageEmptyState.vue index 2941e1f44..41ca6b60b 100644 --- a/app/javascript/dashboard/components-next/captain/pageComponents/emptyStates/ResponsePageEmptyState.vue +++ b/app/javascript/dashboard/components-next/captain/pageComponents/emptyStates/ResponsePageEmptyState.vue @@ -7,24 +7,7 @@ import ResponseCard from 'dashboard/components-next/captain/assistant/ResponseCa import FeatureSpotlight from 'dashboard/components-next/feature-spotlight/FeatureSpotlight.vue'; import { responsesList } from 'dashboard/components-next/captain/pageComponents/emptyStates/captainEmptyStateContent.js'; -import { computed } from 'vue'; - -const props = defineProps({ - variant: { - type: String, - default: 'approved', - validator: value => ['approved', 'pending'].includes(value), - }, - hasActiveFilters: { - type: Boolean, - default: false, - }, -}); - -const emit = defineEmits(['click', 'clearFilters']); - -const isApproved = computed(() => props.variant === 'approved'); -const isPending = computed(() => props.variant === 'pending'); +const emit = defineEmits(['click']); const { isOnChatwootCloud } = useAccount(); const { replaceInstallationName } = useBranding(); @@ -32,15 +15,10 @@ const { replaceInstallationName } = useBranding(); const onClick = () => { emit('click'); }; - -const onClearFilters = () => { - emit('clearFilters'); -};