mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-11-04 04:57:51 +00:00 
			
		
		
		
	# Pull Request Template ## Description Replaces darkModeMixin with the new useDarkMode composable and replaces wll usages of mixin the the composable in components and pages Fixes https://linear.app/chatwoot/issue/CW-3474/rewrite-darkmodemixin-mixin-to-a-composable ## Type of change Please delete options that are not relevant. - [x] New feature (non-breaking change which adds functionality) --------- Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com> Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Vue
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Vue
		
	
	
		
			Executable File
		
	
	
	
	
<script>
 | 
						|
import HeaderActions from './HeaderActions.vue';
 | 
						|
import { useDarkMode } from 'widget/composables/useDarkMode';
 | 
						|
 | 
						|
export default {
 | 
						|
  name: 'ChatHeaderExpanded',
 | 
						|
  components: {
 | 
						|
    HeaderActions,
 | 
						|
  },
 | 
						|
  props: {
 | 
						|
    avatarUrl: {
 | 
						|
      type: String,
 | 
						|
      default: '',
 | 
						|
    },
 | 
						|
    introHeading: {
 | 
						|
      type: String,
 | 
						|
      default: '',
 | 
						|
    },
 | 
						|
    introBody: {
 | 
						|
      type: String,
 | 
						|
      default: '',
 | 
						|
    },
 | 
						|
    showPopoutButton: {
 | 
						|
      type: Boolean,
 | 
						|
      default: false,
 | 
						|
    },
 | 
						|
  },
 | 
						|
  setup() {
 | 
						|
    const { getThemeClass } = useDarkMode();
 | 
						|
    return { getThemeClass };
 | 
						|
  },
 | 
						|
};
 | 
						|
</script>
 | 
						|
 | 
						|
<template>
 | 
						|
  <header
 | 
						|
    class="header-expanded pt-6 pb-4 px-5 relative box-border w-full bg-transparent"
 | 
						|
  >
 | 
						|
    <div
 | 
						|
      class="flex items-start"
 | 
						|
      :class="[avatarUrl ? 'justify-between' : 'justify-end']"
 | 
						|
    >
 | 
						|
      <img
 | 
						|
        v-if="avatarUrl"
 | 
						|
        class="h-12 rounded-full"
 | 
						|
        :src="avatarUrl"
 | 
						|
        alt="Avatar"
 | 
						|
      />
 | 
						|
      <HeaderActions
 | 
						|
        :show-popout-button="showPopoutButton"
 | 
						|
        :show-end-conversation-button="false"
 | 
						|
      />
 | 
						|
    </div>
 | 
						|
    <h2
 | 
						|
      v-dompurify-html="introHeading"
 | 
						|
      class="mt-4 text-2xl mb-1.5 font-medium"
 | 
						|
      :class="getThemeClass('text-slate-900', 'dark:text-slate-50')"
 | 
						|
    />
 | 
						|
    <p
 | 
						|
      v-dompurify-html="introBody"
 | 
						|
      class="text-base leading-normal"
 | 
						|
      :class="getThemeClass('text-slate-700', 'dark:text-slate-200')"
 | 
						|
    />
 | 
						|
  </header>
 | 
						|
</template>
 |