userHeader.jade 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. template(name="headerUserBar")
  2. #header-user-bar
  3. a.header-user-bar-name.js-open-header-member-menu(title="{{_ 'memberMenuPopup-title'}}")
  4. .header-user-bar-avatar
  5. +userAvatar(userId=currentUser._id)
  6. unless isMiniScreen
  7. unless isSandstorm
  8. if currentUser.profile.fullname
  9. = currentUser.profile.fullname
  10. else
  11. = currentUser.username
  12. template(name="memberMenuPopup")
  13. ul.pop-over-list
  14. with currentUser
  15. li
  16. a.js-toggle-grey-icons(href="#")
  17. | 🎨
  18. | {{_ 'grey-icons'}}
  19. if currentUser.profile
  20. if currentUser.profile.GreyIcons
  21. span(key="grey-icons-checkmark") ✅
  22. li
  23. a.js-my-cards(href="{{pathFor 'my-cards'}}")
  24. | 📋
  25. | {{_ 'my-cards'}}
  26. li
  27. a.js-due-cards(href="{{pathFor 'due-cards'}}")
  28. | 📅
  29. | {{_ 'dueCards-title'}}
  30. li
  31. a.js-global-search(href="{{pathFor 'global-search'}}")
  32. | 🔍
  33. | {{_ 'globalSearch-title'}}
  34. li
  35. a(href="{{pathFor 'home'}}")
  36. | 🏠
  37. | {{_ 'all-boards'}}
  38. li
  39. a(href="{{pathFor 'public'}}")
  40. | 🌐
  41. | {{_ 'public'}}
  42. li
  43. a.board-header-btn.js-open-archived-board
  44. | 📦
  45. span {{_ 'archives'}}
  46. li
  47. a.js-notifications-drawer-toggle
  48. | 🔔
  49. | {{_ 'notifications'}}
  50. if currentSetting.customHelpLinkUrl
  51. li
  52. a(href="{{currentSetting.customHelpLinkUrl}}", title="{{_ 'help'}}", target="_blank", rel="noopener noreferrer")
  53. | ❓
  54. | {{_ 'help'}}
  55. unless currentUser.isWorker
  56. ul.pop-over-list
  57. li
  58. a(href="{{pathFor 'board' id=templatesBoardId slug=templatesBoardSlug}}")
  59. | 📋
  60. | {{_ 'templates'}}
  61. if currentUser.isAdmin
  62. li
  63. a.js-go-setting(href="{{pathFor 'setting'}}")
  64. | 🔒
  65. | {{_ 'admin-panel'}}
  66. hr
  67. if isSameDomainNameSettingValue
  68. li
  69. a.js-invite-people
  70. | ✉️
  71. | {{_ 'invite-people'}}
  72. if isNotOAuth2AuthenticationMethod
  73. li
  74. a.js-edit-profile
  75. | 👤
  76. | {{_ 'edit-profile'}}
  77. li
  78. a.js-change-settings
  79. | ⚙️
  80. | {{_ 'change-settings'}}
  81. li
  82. a.js-change-avatar
  83. | 🖼️
  84. | {{_ 'edit-avatar'}}
  85. unless isSandstorm
  86. if isNotOAuth2AuthenticationMethod
  87. li
  88. a.js-change-password
  89. | 🔑
  90. | {{_ 'changePasswordPopup-title'}}
  91. li
  92. a.js-change-language
  93. | 🏁
  94. | {{_ 'changeLanguagePopup-title'}}
  95. //li
  96. // a.js-support
  97. // ❓-circle
  98. // | {{_ 'support'}}
  99. unless isSandstorm
  100. hr
  101. ul.pop-over-list
  102. li
  103. a.js-logout
  104. | 🚪
  105. | {{_ 'log-out'}}
  106. template(name="invitePeoplePopup")
  107. ul#registration-setting.setting-detail
  108. li
  109. #invite-people-infos
  110. li
  111. br
  112. li
  113. .invite-people(class="{{#if currentSetting.disableRegistration}}{{else}}hide{{/if}}")
  114. ul
  115. li
  116. .title {{_ 'invite-people'}}
  117. textarea#email-to-invite.wekan-form-control(rows='5', placeholder="{{_ 'email-addresses'}}")
  118. li
  119. .title {{_ 'to-boards'}}
  120. .bg-white
  121. each boards
  122. a.option.flex.js-toggle-board-choose(id= _id)
  123. .materialCheckBox(data-id= _id)
  124. span= title
  125. li
  126. button.js-email-invite.primary {{_ 'invite'}}
  127. template(name="editProfilePopup")
  128. form
  129. label
  130. | {{_ 'fullname'}}
  131. input.js-profile-fullname(type="text" value=profile.fullname autofocus)
  132. label
  133. | {{_ 'username'}}
  134. span.error.hide.username-taken
  135. | {{_ 'error-username-taken'}}
  136. if allowUserNameChange
  137. input.js-profile-username(type="text" value=username)
  138. else
  139. input.js-profile-username(type="text" value=username readonly)
  140. label
  141. | {{_ 'initials'}}
  142. input.js-profile-initials(type="text" value=profile.initials)
  143. label
  144. | {{_ 'email'}}
  145. span.error.hide.email-taken
  146. | {{_ 'error-email-taken'}}
  147. if allowEmailChange
  148. input.js-profile-email(type="email" value="{{emails.[0].address}}")
  149. else
  150. input.js-profile-email(type="email" value="{{emails.[0].address}}" readonly)
  151. div.buttonsContainer
  152. input.primary.wide(type="submit" value="{{_ 'save'}}")
  153. if allowUserDelete
  154. div
  155. input#deleteButton.primary.wide(type="button" value="{{_ 'delete'}}")
  156. template(name="supportPopup")
  157. ul.pop-over-list
  158. li
  159. | Support popup text will be editable later.
  160. template(name="changePasswordPopup")
  161. +atForm(state='changePwd')
  162. template(name="changeLanguagePopup")
  163. ul.pop-over-list
  164. each languages
  165. li(class="{{# if isCurrentLanguage}}active{{/if}}")
  166. a.js-set-language
  167. | {{languageFlag}}
  168. | {{name}}
  169. if isCurrentLanguage
  170. | ✅
  171. template(name="changeSettingsPopup")
  172. ul.pop-over-list
  173. //li
  174. // a.js-toggle-desktop-drag-handles
  175. // i.fa.fa-arrows
  176. // | {{_ 'show-desktop-drag-handles'}}
  177. // if isShowDesktopDragHandles
  178. // i.fa.fa-check
  179. unless currentUser.isWorker
  180. li
  181. label.bold.clear
  182. | 🔢
  183. | {{_ 'show-cards-minimum-count'}}
  184. input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="-1")
  185. label.bold.clear
  186. | 📅
  187. | {{_ 'start-day-of-week'}}
  188. select#start-day-of-week.inline-input.left
  189. each day in weekDays startDayOfWeek
  190. if day.isSelected
  191. option(selected="true", value="#{day.value}") #{day.name}
  192. else
  193. option(value="#{day.value}") #{day.name}
  194. label.bold.clear
  195. | {{_ 'card-settings'}}
  196. ul#cards.card-description-rescued
  197. a.flex.js-rescue-card-description(title="{{_ 'rescue-card-description'}}")
  198. b  
  199. #rescue-card-description.materialCheckBox.left(class="{{#if rescueCardDescription}}is-checked{{/if}}", value=rescueCardDescription)
  200. span {{_ 'rescue-card-description'}}
  201. input.js-apply-user-settings.left(type="submit" value="{{_ 'apply'}}")
  202. template(name="userDeletePopup")
  203. unless currentUser.isWorker
  204. p {{_ 'delete-user-confirm-popup'}}
  205. button.js-confirm.negate.full(type="submit") {{_ 'delete'}}