32 lines
		
	
	
		
			No EOL
		
	
	
		
			1.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			No EOL
		
	
	
		
			1.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<span class="account-display-name">{@html massagedAccountName }</span>
 | 
						|
<style>
 | 
						|
  .account-display-name {
 | 
						|
    pointer-events: none; /* allows focus to work correctly, focus on the parent only */
 | 
						|
  }
 | 
						|
</style>
 | 
						|
<script>
 | 
						|
  import { emojifyText } from '../../_utils/emojifyText'
 | 
						|
  import { store } from '../../_store/store'
 | 
						|
  import escapeHtml from 'escape-html'
 | 
						|
  import { removeEmoji } from '../../_utils/removeEmoji'
 | 
						|
 | 
						|
  export default {
 | 
						|
    store: () => store,
 | 
						|
    computed: {
 | 
						|
      emojis: ({ account }) => (account.emojis || []),
 | 
						|
      accountName: ({ account }) => (account.display_name || account.username),
 | 
						|
      massagedAccountName: ({ accountName, emojis, $autoplayGifs, $omitEmojiInDisplayNames }) => {
 | 
						|
        accountName = escapeHtml(accountName)
 | 
						|
 | 
						|
        if ($omitEmojiInDisplayNames) { // display name emoji are annoying to some screenreader users
 | 
						|
          let emojiFreeDisplayName = removeEmoji(accountName, emojis)
 | 
						|
          if (emojiFreeDisplayName) {
 | 
						|
            return emojiFreeDisplayName
 | 
						|
          }
 | 
						|
        }
 | 
						|
 | 
						|
        return emojifyText(accountName, emojis, $autoplayGifs)
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
</script> |