Some checks failed
Lock Threads / action (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
Publish Chatwoot EE docker images / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Publish Chatwoot EE docker images / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Publish Chatwoot EE docker images / merge (push) Has been cancelled
Publish Chatwoot CE docker images / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Publish Chatwoot CE docker images / build (linux/arm64, ubuntu-22.04-arm) (push) Has been cancelled
Publish Chatwoot CE docker images / merge (push) Has been cancelled
Run Chatwoot CE spec / lint-backend (push) Has been cancelled
Run Chatwoot CE spec / lint-frontend (push) Has been cancelled
Run Chatwoot CE spec / frontend-tests (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (0, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (1, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (10, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (11, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (12, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (13, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (14, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (15, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (2, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (3, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (4, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (5, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (6, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (7, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (8, 16) (push) Has been cancelled
Run Chatwoot CE spec / backend-tests (9, 16) (push) Has been cancelled
Run Linux nightly installer / nightly (push) Has been cancelled
- Add Logistics component with progress tracking - Add OrderDetail component for order information - Support data-driven steps and actions - Add blue color scale to widget SCSS - Fix node overflow and progress bar rendering issues - Add English translations for dashboard components Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
71 lines
1.9 KiB
Vue
71 lines
1.9 KiB
Vue
<script setup>
|
|
import { computed } from 'vue';
|
|
import BaseBubble from './Base.vue';
|
|
import { useI18n } from 'vue-i18n';
|
|
import { CSAT_RATINGS, CSAT_DISPLAY_TYPES } from 'shared/constants/messages';
|
|
import { useMessageContext } from '../provider.js';
|
|
|
|
const { contentAttributes, content } = useMessageContext();
|
|
const { t } = useI18n();
|
|
|
|
const response = computed(() => {
|
|
return contentAttributes.value?.submittedValues?.csatSurveyResponse ?? {};
|
|
});
|
|
|
|
const isRatingSubmitted = computed(() => {
|
|
return !!response.value.rating;
|
|
});
|
|
|
|
const displayType = computed(() => {
|
|
return contentAttributes.value?.displayType || CSAT_DISPLAY_TYPES.EMOJI;
|
|
});
|
|
|
|
const isStarRating = computed(() => {
|
|
return displayType.value === CSAT_DISPLAY_TYPES.STAR;
|
|
});
|
|
|
|
const rating = computed(() => {
|
|
if (isRatingSubmitted.value) {
|
|
return CSAT_RATINGS.find(
|
|
csatOption => csatOption.value === response.value.rating
|
|
);
|
|
}
|
|
|
|
return null;
|
|
});
|
|
|
|
const starRatingValue = computed(() => {
|
|
return response.value.rating || 0;
|
|
});
|
|
</script>
|
|
|
|
<template>
|
|
<BaseBubble class="px-4 py-3" data-bubble-name="csat">
|
|
<h4>{{ content || t('CONVERSATION.CSAT_REPLY_MESSAGE') }}</h4>
|
|
<dl v-if="isRatingSubmitted" class="mt-4">
|
|
<dt class="text-n-slate-11 italic">
|
|
{{ t('CONVERSATION.RATING_TITLE') }}
|
|
</dt>
|
|
<dd v-if="!isStarRating">
|
|
{{ t(rating.translationKey) }}
|
|
</dd>
|
|
<dd v-else class="flex mt-1">
|
|
<span v-for="n in 5" :key="n" class="text-2xl mr-1">
|
|
<i
|
|
:class="[
|
|
n <= starRatingValue
|
|
? 'i-ri-star-fill text-n-amber-9'
|
|
: 'i-ri-star-line text-n-slate-10',
|
|
]"
|
|
/>
|
|
</span>
|
|
</dd>
|
|
|
|
<dt v-if="response.feedbackMessage" class="text-n-slate-11 italic mt-2">
|
|
{{ t('CONVERSATION.FEEDBACK_TITLE') }}
|
|
</dt>
|
|
<dd>{{ response.feedbackMessage }}</dd>
|
|
</dl>
|
|
</BaseBubble>
|
|
</template>
|