userAvatar.jade 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. template(name="userAvatar")
  2. a.member(class="js-{{#if assignee}}assignee{{else}}member{{/if}}" title="{{userData.profile.fullname}} ({{userData.username}}) {{_ memberType}}")
  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="userAvatarInitials")
  16. svg.avatar.avatar-initials(viewBox="0 0 {{viewPortWidth}} 15")
  17. text(x="50%" y="13" text-anchor="middle")= initials
  18. template(name="orgAvatar")
  19. a.member.orgOrTeamMember(class="js-member" title="{{orgData.orgDisplayName}}")
  20. +boardOrgName(orgId=orgData._id)
  21. template(name="boardOrgRow")
  22. tr
  23. if orgData.orgIsActive
  24. td <s>{{ orgData.orgDisplayName }}</s>
  25. else
  26. td {{ orgData.orgDisplayName }}
  27. td
  28. if currentUser.isBoardAdmin
  29. a.member.orgOrTeamMember.add-member.js-manage-board-removeOrg(title="{{_ 'remove-from-board'}}")
  30. i.fa.fa-minus
  31. template(name="boardTeamRow")
  32. tr
  33. if teamData.teamIsActive
  34. td <s>{{ teamData.teamDisplayName }}</s>
  35. else
  36. td {{ teamData.teamDisplayName }}
  37. td
  38. if currentUser.isBoardAdmin
  39. a.member.orgOrTeamMember.add-member.js-manage-board-removeTeam(title="{{_ 'remove-from-board'}}")
  40. i.fa.fa-minus
  41. template(name="boardOrgName")
  42. svg.avatar.avatar-initials(viewBox="0 0 {{orgViewPortWidth}} 15")
  43. text(x="50%" y="13" text-anchor="middle")= orgName
  44. template(name="teamAvatar")
  45. a.member.orgOrTeamMember(class="js-member" title="{{teamData.teamDisplayName}}")
  46. +boardTeamName(orgId=orgData._id)
  47. template(name="boardTeamName")
  48. svg.avatar.avatar-initials(viewBox="0 0 {{teamViewPortWidth}} 15")
  49. text(x="50%" y="13" text-anchor="middle")= teamName
  50. template(name="userPopup")
  51. .board-member-menu
  52. .mini-profile-info
  53. +userAvatar(userId=user._id)
  54. .info
  55. h3= user.profile.fullname
  56. p.quiet @{{ user.username }}
  57. template(name="memberName")
  58. if showBoth
  59. = user.profile.fullname
  60. | ({{ user.username }})
  61. else if user.profile.fullname
  62. = user.profile.fullname
  63. else
  64. = user.username
  65. template(name="changeAvatarPopup")
  66. if error.get
  67. .warning {{_ error.get}}
  68. ul.pop-over-list
  69. each uploadedAvatars
  70. li: a.js-select-avatar
  71. .member
  72. img.avatar.avatar-image(src="{{url avatarUrlOptions}}")
  73. | {{_ 'uploaded-avatar'}}
  74. if isSelected
  75. i.fa.fa-check
  76. p.sub-name
  77. unless isSelected
  78. a.js-delete-avatar {{_ 'delete'}}
  79. | -
  80. = original.name
  81. li: a.js-select-initials
  82. .member
  83. +userAvatarInitials(userId=currentUser._id)
  84. | {{_ 'initials' }}
  85. if noAvatarUrl
  86. i.fa.fa-check
  87. p.sub-name {{_ 'default-avatar'}}
  88. input.hide.js-upload-avatar-input(accept="image/*;capture=camera" type="file")
  89. button.full.js-upload-avatar
  90. i.fa.fa-upload
  91. | {{_ 'upload-avatar'}}
  92. template(name="cardMemberPopup")
  93. .board-member-menu
  94. .mini-profile-info
  95. +userAvatar(userId=user._id showEdit=true)
  96. .info
  97. h3= user.profile.fullname
  98. p.quiet @{{ user.username }}
  99. ul.pop-over-list
  100. unless noRemove
  101. if currentUser.isNotCommentOnly
  102. if currentUser.isNotWorker
  103. li: a.js-remove-member {{_ 'remove-member-from-card'}}
  104. if $eq currentUser._id user._id
  105. with currentUser
  106. li: a.js-edit-profile {{_ 'edit-profile'}}