Files
habitica/website/views/options/social/chat-message.jade
T
cincospenguinos f5f8f8c246 Players able to flag their own messages - Fixes #8005 (#8006)
* Players able to flag their own messages

* Modify test case to match the new behavior

* Remove a comment and a locales message
2016-09-13 12:23:11 -05:00

46 lines
3.6 KiB
Plaintext

mixin chatMessages(inbox)
ul.list-unstyled.tavern-chat
-
var ngRepeat = inbox ?
'message in user.inbox.messages | toArray:true | orderBy:"sort":true' :
'message in group.chat | orderBy:"timestamp":!user.preferences.reverseChatOrder track by message.id'
li.chat-message(ng-repeat=ngRepeat, ng-class=':: {highlight: isUserMentioned(user,message) || message.uuid=="system", "own-message": user._id == message.uuid}')
span.pull-right.text-danger(ng-if="user.contributor.admin && message.flagCount > 0")
| {{message.flagCount > 1 ? "Message Hidden" : "1 flag"}}
.scrollable-message(ng-class='{"transparent": message.sent || message.flags[user._id] || (user.contributor.admin && message.flagCount > 1)}')
span(ng-if='::message.user')
a.label.label-default.chat-message.hidden-label
span.glyphicon.glyphicon-arrow-right(ng-if='::message.sent')
|    
span {{::message.user}} 
span(ng-class='userAdminGlyphiconStyleFromLevel(message.contributor.level)')
// this invisible username label is here to push the message text far enough right that the visible label can be floated to this point without covering up any of the text
markdown(text='::message.text', remove-watch='true')
| -
span.muted.time(from-now='::message.timestamp' tooltip="{{::message.timestamp | date:user.preferences.dateFormat.concat(' HH:mm:ss')}}")
unless inbox
span
a.label.label-default(ng-show='countExists(message.likes)', ng-class='{"label-success":message.likes[user._id]}', ng-click='likeChatMessage(group,message)', tooltip=env.t('likePost')) +{{countExists(message.likes)}}
a.chat-plus-one.muted(ng-show='!countExists(message.likes)', ng-click='likeChatMessage(group, message)', tooltip=env.t('likePost')) +1
span(ng-if=":: message.uuid != 'system'")    
a(ng-click="quickReply(message.uuid)")
span.glyphicon.glyphicon-envelope(tooltip=env.t('sendPM'))
if inbox
a(ng-click="quickReply(message.uuid)")
span.glyphicon.glyphicon-share-alt(tooltip=env.t('pm-reply'))
span(ng-if='#{inbox ? "true" : ":: user.contributor.admin || message.uuid == user.id"}')    
a(ng-click='#{inbox? "User.deletePM({params:{id:message.$key}})" : "deleteChatMessage(group, message)"}')
span.glyphicon.glyphicon-trash(tooltip=env.t('delete'))
span(ng-if=':: user.contributor.admin || (!message.sent && user.flags.communityGuidelinesAccepted)')    
a(ng-click="flagChatMessage(group._id, message)")
span.glyphicon.glyphicon-flag(tooltip="{{message.flags[user._id] ? env.t('abuseAlreadyReported') : env.t('abuseFlag')}}" ng-class='message.flags[user._id] ? "text-danger" : ""')
span    
a(ng-click="copyToDo(message)")
span.glyphicon.glyphicon-share(tooltip=env.t('copyMessageAsToDo'))
span.float-label(ng-class='::contribText(message.contributor, message.backer).length > 30 ? "long-title" : ""')
a.label.label-default.chat-message(ng-if=':: message.user', ng-class='::userLevelStyleFromLevel(message.contributor.level, message.backer.npc, style)', ng-click='clickMember(message.uuid, true)')
span.glyphicon.glyphicon-arrow-right(ng-if='::message.sent')
|  
span(tooltip='{{::contribText(message.contributor, message.backer)}}') {{::message.user}} 
span(ng-class='::userAdminGlyphiconStyleFromLevel(message.contributor.level)')