logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe

direct_conversation_title.js (1021B)


      1 import Vue from 'vue'
      2 import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'
      3 import { mapState } from 'vuex'
      4 
      5 const USER_LIMIT = 10
      6 
      7 export default Vue.component('direct-conversation-title', {
      8   name: 'DirectConversationTitle',
      9   props: [
     10     'users', 'fallbackUser'
     11   ],
     12   computed: {
     13     ...mapState({
     14       currentUser: state => state.users.currentUser
     15     }),
     16     otherUsersTruncated () {
     17       return this.otherUsers.slice(0, USER_LIMIT)
     18     },
     19     otherUsers () {
     20       let otherUsers = this.users.filter(recipient => recipient.id !== this.currentUser.id)
     21       if (otherUsers.length === 0) {
     22         return [this.fallbackUser]
     23       } else {
     24         return otherUsers
     25       }
     26     },
     27     restCount () {
     28       return this.otherUsers.length - USER_LIMIT
     29     },
     30     title () {
     31       return this.otherUsers.map(u => u.screen_name).join(', ')
     32     }
     33   },
     34   methods: {
     35     getUserProfileLink (user) {
     36       return generateProfileLink(user.id, user.screen_name)
     37     }
     38   }
     39 })