diff --git a/app/javascript/dashboard/api/captain/faqSuggestions.js b/app/javascript/dashboard/api/captain/faqSuggestions.js new file mode 100644 index 000000000..f031b3f9b --- /dev/null +++ b/app/javascript/dashboard/api/captain/faqSuggestions.js @@ -0,0 +1,35 @@ +/* global axios */ +import ApiClient from '../ApiClient'; + +class CaptainFaqSuggestions extends ApiClient { + constructor() { + super('captain/faq_suggestions', { accountScoped: true }); + } + + get({ page = 1, search, assistantId, status = 'open' } = {}) { + return axios.get(this.url, { + params: { + page, + search, + assistant_id: assistantId, + status, + }, + }); + } + + update(id, data) { + return axios.patch(`${this.url}/${id}`, { faq_suggestion: data }); + } + + approve(id, data) { + return axios.post(`${this.url}/${id}/approve`, { + faq_suggestion: data, + }); + } + + dismiss(id) { + return axios.post(`${this.url}/${id}/dismiss`); + } +} + +export default new CaptainFaqSuggestions(); diff --git a/app/javascript/dashboard/components-next/captain/assistant/FaqSuggestionCard.vue b/app/javascript/dashboard/components-next/captain/assistant/FaqSuggestionCard.vue new file mode 100644 index 000000000..c7c92f04e --- /dev/null +++ b/app/javascript/dashboard/components-next/captain/assistant/FaqSuggestionCard.vue @@ -0,0 +1,119 @@ + + + diff --git a/app/javascript/dashboard/components-next/captain/pageComponents/response/FaqSuggestionReviewDialog.vue b/app/javascript/dashboard/components-next/captain/pageComponents/response/FaqSuggestionReviewDialog.vue new file mode 100644 index 000000000..6b3102460 --- /dev/null +++ b/app/javascript/dashboard/components-next/captain/pageComponents/response/FaqSuggestionReviewDialog.vue @@ -0,0 +1,272 @@ + + +