You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
3.9 KiB
99 lines
3.9 KiB
include ../../user/components/profile-picture
|
|
mixin renderChatMemberListItem (room, member, options)
|
|
-
|
|
options = Object.assign({
|
|
isHost: false,
|
|
isGuest: false,
|
|
}, options);
|
|
|
|
var isRoomOwner = room.owner._id.equals(member._id);
|
|
var isSystemMod = user && user.flags && (user.flags.isAdmin || user.flags.isModerator);
|
|
var memberName = member.displayName || member.username;
|
|
// var isChannelMod = user && Array.isArray(message.channel.moderators) && !!message.channel.moderators.find((moderator) => moderator._id.equals(user._id));
|
|
|
|
li(data-member-id= member._id, data-member-username= member.username)
|
|
div(uk-grid).uk-grid-collapse.uk-flex-middle.member-list-item
|
|
.uk-width-auto
|
|
img(src='/img/default-member.png').member-profile-icon
|
|
.uk-width-expand.uk-text-small
|
|
a(href=`/member/${member.username}`, uk-tooltip={ title: `Visit ${member.username}`}).uk-link-reset
|
|
.member-display-name= member.displayName || member.username
|
|
.member-username @#{member.username}
|
|
.uk-width-auto.chat-user-menu
|
|
button(type="button").dtp-button-dropdown
|
|
i.fas.fa-ellipsis-v
|
|
div(
|
|
data-room-id= room._id,
|
|
uk-dropdown={ animation: "uk-animation-scale-up", duration: 250 },
|
|
data-mode="click",
|
|
).dtp-chatmsg-menu
|
|
ul.uk-nav.uk-dropdown-nav
|
|
li.uk-nav-header= member.username
|
|
li
|
|
a(
|
|
href="",
|
|
data-username= member.username,
|
|
onclick="return dtp.app.mentionChatUser(event);",
|
|
) Mention
|
|
li
|
|
a(
|
|
href="",
|
|
data-room-id= room._id,
|
|
data-room-name= room.name,
|
|
data-user-id= member._id,
|
|
data-username= member.username,
|
|
onclick="return dtp.app.muteChatUser(event);",
|
|
) Mute
|
|
|
|
if (options.isHost || options.isGuest) && !isRoomOwner
|
|
li.uk-nav-divider
|
|
if options.isHost
|
|
li
|
|
a(
|
|
href,
|
|
data-environment="ChatRoom",
|
|
data-room-id= room._id,
|
|
data-room-name= room.name,
|
|
data-user-id= member._id,
|
|
data-username= member.username,
|
|
data-display-name= member.displayName,
|
|
onclick="return dtp.app.removeRoomHost(event);",
|
|
) Remove host
|
|
if options.isGuest
|
|
li
|
|
a(
|
|
href,
|
|
data-environment="ChatRoom",
|
|
data-room-id= room._id,
|
|
data-room-name= room.name,
|
|
data-user-id= member._id,
|
|
data-username= member.username,
|
|
data-display-name= member.displayName,
|
|
onclick="return dtp.app.removeRoomGuest(event);",
|
|
) Remove guest
|
|
|
|
if isSystemMod || isChannelMod
|
|
li.uk-nav-divider
|
|
li
|
|
a(
|
|
href="",
|
|
data-environment="ChatRoom",
|
|
data-room-id= room._id,
|
|
data-room-name= room.name,
|
|
data-user-id= member._id,
|
|
data-username= member.username,
|
|
data-display-name= member.displayName,
|
|
onclick="return dtp.app.confirmBanUserFromEnvironment(event);",
|
|
) Ban from room
|
|
|
|
if isSystemMod
|
|
li
|
|
a(
|
|
href="",
|
|
data-room-id= room._id,
|
|
data-room-name= room.name,
|
|
data-user-id= member._id,
|
|
data-username= member.username,
|
|
data-display-name= member.displayName,
|
|
onclick="return dtp.adminApp.confirmBanUser(event);",
|
|
) Ban from #{site.name}
|