- verbeteringen client
- Enkel nog probleem met vertaling van de ProgressTracker constanten
This commit is contained in:
@@ -97,7 +97,7 @@
|
||||
{{ message.content }}
|
||||
</div>
|
||||
<button v-if="message.retryable" @click="$emit('retry-message', message.id)" class="retry-btn">
|
||||
Opnieuw proberen
|
||||
{{ messageTexts.retry }}
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
@@ -116,6 +116,7 @@
|
||||
import DynamicForm from './DynamicForm.vue';
|
||||
import ProgressTracker from './ProgressTracker.vue';
|
||||
import { useIconManager } from '../js/composables/useIconManager.js';
|
||||
import { useComponentTranslations } from '../js/services/LanguageProvider.js';
|
||||
|
||||
export default {
|
||||
name: 'ChatMessage',
|
||||
@@ -129,7 +130,25 @@ export default {
|
||||
// Watch message.formData.icon for automatic icon loading
|
||||
watchIcon(() => props.message.formData?.icon);
|
||||
|
||||
return {};
|
||||
// Use component translations from provider (English as base language)
|
||||
const originalTexts = {
|
||||
retry: 'Try again',
|
||||
copy: 'Copy',
|
||||
timestamp: 'Timestamp',
|
||||
errorMessage: 'An error occurred while processing your request.'
|
||||
};
|
||||
|
||||
const { translations, isLoading, error, currentLanguage } = useComponentTranslations(
|
||||
'chat_message',
|
||||
originalTexts
|
||||
);
|
||||
|
||||
return {
|
||||
messageTexts: translations,
|
||||
translationLoading: isLoading,
|
||||
translationError: error,
|
||||
currentLanguage
|
||||
};
|
||||
},
|
||||
props: {
|
||||
message: {
|
||||
@@ -163,12 +182,10 @@ export default {
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// Luister naar taalwijzigingen
|
||||
document.addEventListener('language-changed', this.handleLanguageChange);
|
||||
// Component initialization if needed
|
||||
},
|
||||
beforeUnmount() {
|
||||
// Verwijder event listener bij verwijderen component
|
||||
document.removeEventListener('language-changed', this.handleLanguageChange);
|
||||
// Component cleanup if needed
|
||||
},
|
||||
computed: {
|
||||
hasFormData() {
|
||||
@@ -214,22 +231,17 @@ export default {
|
||||
return hasActualValues;
|
||||
},
|
||||
|
||||
async handleLanguageChange(event) {
|
||||
// Controleer of dit het eerste bericht is in een gesprek met maar één bericht
|
||||
// Dit wordt al afgehandeld door MessageHistory component, dus we hoeven hier niets te doen
|
||||
// De implementatie hiervan blijft in MessageHistory om dubbele vertaling te voorkomen
|
||||
},
|
||||
|
||||
handleSpecialistError(eventData) {
|
||||
console.log('ChatMessage received specialist-error event:', eventData);
|
||||
|
||||
// Creëer een error message met correcte styling
|
||||
// Create an error message with correct styling
|
||||
this.message.type = 'error';
|
||||
this.message.content = eventData.message || 'Er is een fout opgetreden bij het verwerken van uw verzoek.';
|
||||
this.message.content = eventData.message || this.messageTexts.errorMessage;
|
||||
this.message.retryable = true;
|
||||
this.message.error = true; // Voeg error flag toe voor styling
|
||||
this.message.error = true; // Add error flag for styling
|
||||
|
||||
// Bubble up naar parent component voor verdere afhandeling
|
||||
// Bubble up to parent component for further handling
|
||||
this.$emit('specialist-error', {
|
||||
messageId: this.message.id,
|
||||
...eventData
|
||||
|
||||
Reference in New Issue
Block a user