mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-11-01 03:27:52 +00:00 
			
		
		
		
	 3a693947b5
			
		
	
	3a693947b5
	
	
	
		
			
			This PR adds RTL support to the web widget for improved right-to-left language compatibility, updates colors, and cleans up code. Fixes https://linear.app/chatwoot/issue/CW-4089/rtl-issues-on-widget https://github.com/chatwoot/chatwoot/issues/9791 Other PR: https://github.com/chatwoot/chatwoot/pull/11016
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <script>
 | |
| import ChatOption from 'shared/components/ChatOption.vue';
 | |
| import { useMessageFormatter } from 'shared/composables/useMessageFormatter';
 | |
| 
 | |
| export default {
 | |
|   components: {
 | |
|     ChatOption,
 | |
|   },
 | |
|   props: {
 | |
|     title: {
 | |
|       type: String,
 | |
|       default: '',
 | |
|     },
 | |
|     options: {
 | |
|       type: Array,
 | |
|       default: () => [],
 | |
|     },
 | |
|     selected: {
 | |
|       type: String,
 | |
|       default: '',
 | |
|     },
 | |
|     hideFields: {
 | |
|       type: Boolean,
 | |
|       default: false,
 | |
|     },
 | |
|   },
 | |
|   emits: ['optionSelect'],
 | |
|   setup() {
 | |
|     const { formatMessage } = useMessageFormatter();
 | |
|     return {
 | |
|       formatMessage,
 | |
|     };
 | |
|   },
 | |
|   methods: {
 | |
|     isSelected(option) {
 | |
|       return this.selected === option.id;
 | |
|     },
 | |
|     onClick(selectedOption) {
 | |
|       this.$emit('optionSelect', selectedOption);
 | |
|     },
 | |
|   },
 | |
| };
 | |
| </script>
 | |
| 
 | |
| <template>
 | |
|   <div
 | |
|     class="chat-bubble agent max-w-64 !py-2 !px-4 rounded-lg overflow-hidden mt-1 bg-n-background dark:bg-n-solid-3"
 | |
|   >
 | |
|     <h4 class="text-n-slate-12 text-sm font-normal my-1 leading-[1.5]">
 | |
|       <div
 | |
|         v-dompurify-html="formatMessage(title, false)"
 | |
|         class="text-n-slate-12"
 | |
|       />
 | |
|     </h4>
 | |
|     <ul v-if="!hideFields" class="w-full">
 | |
|       <ChatOption
 | |
|         v-for="option in options"
 | |
|         :key="option.id"
 | |
|         :action="option"
 | |
|         :is-selected="isSelected(option)"
 | |
|         class="list-none p-0"
 | |
|         @option-select="onClick"
 | |
|       />
 | |
|     </ul>
 | |
|   </div>
 | |
| </template>
 |