userAvatar.jade 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. template(name="userAvatar")
  2. a.member.js-member(title="{{userData.profile.fullname}} ({{userData.username}})")
  3. if userData.profile.avatarUrl
  4. img.avatar.avatar-image(src="{{userData.profile.avatarUrl}}")
  5. else
  6. +userAvatarInitials(userId=userData._id)
  7. if showStatus
  8. span.member-presence-status(class=presenceStatusClassName)
  9. span.member-type(class=memberType)
  10. unless isSandstorm
  11. if showEdit
  12. if $eq currentUser._id userData._id
  13. a.edit-avatar.js-change-avatar
  14. i.fa.fa-pencil
  15. template(name="userAvatarAssignee")
  16. a.assignee.js-assignee(title="{{userData.profile.fullname}} ({{userData.username}})")
  17. if userData.profile.avatarUrl
  18. img.avatar.avatar-image(src="{{userData.profile.avatarUrl}}")
  19. else
  20. +userAvatarInitials(userId=userData._id)
  21. if showStatus
  22. span.assignee-presence-status(class=presenceStatusClassName)
  23. span.assignee-type(class=assigneeType)
  24. unless isSandstorm
  25. if showEdit
  26. if $eq currentUser._id userData._id
  27. a.edit-avatar.js-change-avatar
  28. i.fa.fa-pencil
  29. template(name="userAvatarInitials")
  30. svg.avatar.avatar-initials(viewBox="0 0 {{viewPortWidth}} 15")
  31. text(x="50%" y="13" text-anchor="middle")= initials
  32. template(name="userPopup")
  33. .board-member-menu
  34. .mini-profile-info
  35. +userAvatar(userId=user._id)
  36. .info
  37. h3= user.profile.fullname
  38. p.quiet @{{ user.username }}
  39. template(name="memberName")
  40. if showBoth
  41. = user.profile.fullname
  42. | ({{ user.username }})
  43. else if user.profile.fullname
  44. = user.profile.fullname
  45. else
  46. = user.username
  47. template(name="changeAvatarPopup")
  48. if error.get
  49. .warning {{_ error.get}}
  50. ul.pop-over-list
  51. each uploadedAvatars
  52. li: a.js-select-avatar
  53. .member
  54. img.avatar.avatar-image(src="{{url avatarUrlOptions}}")
  55. | {{_ 'uploaded-avatar'}}
  56. if isSelected
  57. i.fa.fa-check
  58. p.sub-name
  59. unless isSelected
  60. a.js-delete-avatar {{_ 'delete'}}
  61. | -
  62. = original.name
  63. li: a.js-select-initials
  64. .member
  65. +userAvatarInitials(userId=currentUser._id)
  66. | {{_ 'initials' }}
  67. if noAvatarUrl
  68. i.fa.fa-check
  69. p.sub-name {{_ 'default-avatar'}}
  70. input.hide.js-upload-avatar-input(accept="image/*;capture=camera" type="file")
  71. button.full.js-upload-avatar
  72. i.fa.fa-upload
  73. | {{_ 'upload-avatar'}}
  74. template(name="cardMemberPopup")
  75. .board-member-menu
  76. .mini-profile-info
  77. +userAvatar(userId=user._id showEdit=true)
  78. .info
  79. h3= user.profile.fullname
  80. p.quiet @{{ user.username }}
  81. ul.pop-over-list
  82. if currentUser.isNotCommentOnly
  83. li: a.js-remove-member {{_ 'remove-member-from-card'}}
  84. if $eq currentUser._id user._id
  85. with currentUser
  86. li: a.js-edit-profile {{_ 'edit-profile'}}
  87. template(name="cardAssigneePopup")
  88. .board-assignee-menu
  89. .mini-profile-info
  90. +userAvatar(userId=user._id showEdit=true)
  91. .info
  92. h3= user.profile.fullname
  93. p.quiet @{{ user.username }}
  94. ul.pop-over-list
  95. if currentUser.isNotCommentOnly
  96. li: a.js-remove-assignee {{_ 'remove-member-from-card'}}
  97. if $eq currentUser._id user._id
  98. with currentUser
  99. li: a.js-edit-profile {{_ 'edit-profile'}}