2014-11-27 10:32:57 +00:00
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 track by message.id'
2014-12-11 19:38:57 +00:00
li.chat-message(ng-repeat=ngRepeat, ng-class=':: {highlight: isUserMentioned(user,message) || message.uuid=="system", "own-message": user._id == message.uuid}', ng-if="!message.flagCount || message.flagCount < 2 || user.contributor.admin")
2014-12-11 19:12:50 +00:00
span.pull-right.text-danger(ng-if="user.contributor.admin && message.flagCount > 0")
| {{message.flagCount}} flag{{message.flagCount != 1 ? 's' : ''}}
2014-12-11 19:38:57 +00:00
.scrollable-message(ng-class='{"transparent": message.sent || message.flags[user._id] || (user.contributor.admin && message.flagCount >= 1)}')
2014-11-27 10:32:57 +00:00
span(ng-if='::message.user')
a.label.label-default.chat-message.hidden-label
span.glyphicon.glyphicon-arrow-right(ng-if='::message.sent')
2014-12-10 20:31:09 +00:00
|
2014-11-27 10:32:57 +00:00
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(ng-model='::message.text')
2014-11-29 18:53:19 +00:00
| -
2014-12-03 13:49:06 +00:00
span.muted.time(from-now='::message.timestamp' tooltip="{{::message.timestamp | date:'short'}}")
2014-11-27 10:32:57 +00:00
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)') +{{countExists(message.likes)}}
a.chat-plus-one.muted(ng-show='!countExists(message.likes)', ng-click='likeChatMessage(group, message)') +1
|
2014-11-30 00:52:46 +00:00
a(ng-click="quickReply(message.uuid)" ng-if=":: message.uuid != 'system'")
2014-11-27 10:32:57 +00:00
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'))
2014-12-11 23:41:54 +00:00
|
2014-11-27 10:32:57 +00:00
a(ng-click='#{inbox? "user.ops.deletePM({params:{id:message.$key}})" : "deleteChatMessage(group, message)"}', ng-if='#{inbox ? "true" : ":: user.contributor.admin || message.uuid == user.id"}')
span.glyphicon.glyphicon-trash(tooltip=env.t('delete'))
2014-12-11 23:41:54 +00:00
|
2014-12-11 16:29:12 +00:00
a(ng-click="flagChatMessage(group._id, message)", ng-if='#{inbox ? "true" : ":: user.flags.communityGuidelinesAccepted && message.uuid != user.id && message.uuid != \'system\'"}')
2014-12-05 13:43:20 +00:00
span.glyphicon.glyphicon-flag(tooltip="{{message.flags[user._id] ? env.t('abuseAlreadyReported') : env.t('abuseFlag')}}" ng-class='message.flags[user._id] ? "text-danger" : ""')
2014-11-27 10:32:57 +00:00
span.float-label
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')
2014-12-10 20:31:09 +00:00
|
2014-11-27 10:32:57 +00:00
span(tooltip='{{::contribText(message.contributor, message.backer)}}') {{::message.user}}
span(ng-class='::userAdminGlyphiconStyleFromLevel(message.contributor.level)')