navbar.pug 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. nav.navbar.navbar-default.navbar-main
  2. .container-fluid
  3. .navbar-header
  4. button.navbar-toggle(ng-init="navCollapsed = true", ng-click="navCollapsed = !navCollapsed", ng-class="{active: !navCollapsed}", aria-label="Toggle " + translate('navigation'))
  5. i.fa.fa-bars(aria-hidden="true")
  6. if settings.nav.custom_logo
  7. a(href='/', aria-label=settings.appName, style='background-image:url("'+settings.nav.custom_logo+'")').navbar-brand
  8. else if (nav.title)
  9. a(href='/', aria-label=settings.appName, ng-non-bindable).navbar-title #{nav.title}
  10. else
  11. a(href='/', aria-label=settings.appName).navbar-brand
  12. .navbar-collapse.collapse(collapse="navCollapsed")
  13. ul.nav.navbar-nav.navbar-right
  14. if (getSessionUser() && getSessionUser().isAdmin)
  15. li.dropdown(class="subdued", dropdown)
  16. a.dropdown-toggle(href, dropdown-toggle)
  17. | Admin
  18. b.caret
  19. ul.dropdown-menu
  20. li
  21. a(href="/admin") Manage Site
  22. li
  23. a(href="/admin/user") Manage Users
  24. // loop over header_extras
  25. each item in nav.header_extras
  26. -
  27. if ((item.only_when_logged_in && getSessionUser())
  28. || (item.only_when_logged_out && (!getSessionUser()))
  29. || (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages)
  30. || (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks))
  31. ){
  32. var showNavItem = true
  33. } else {
  34. var showNavItem = false
  35. }
  36. if showNavItem
  37. if item.dropdown
  38. li.dropdown(class=item.class, dropdown)
  39. a.dropdown-toggle(href, dropdown-toggle)
  40. | !{translate(item.text)}
  41. b.caret
  42. ul.dropdown-menu
  43. each child in item.dropdown
  44. if child.divider
  45. li.divider
  46. else
  47. li
  48. if child.url
  49. a(href=child.url, class=child.class) !{translate(child.text)}
  50. else
  51. | !{translate(child.text)}
  52. else
  53. li(class=item.class)
  54. if item.url
  55. a(href=item.url, class=item.class) !{translate(item.text)}
  56. else
  57. | !{translate(item.text)}
  58. // logged out
  59. if !getSessionUser()
  60. // register link
  61. if hasFeature('registration-page')
  62. li
  63. a(href="/register") #{translate('register')}
  64. // login link
  65. li
  66. a(href="/login") #{translate('log_in')}
  67. // projects link and account menu
  68. if getSessionUser()
  69. li
  70. a(href="/project") #{translate('Projects')}
  71. li.dropdown(dropdown)
  72. a.dropdown-toggle(href, dropdown-toggle)
  73. | #{translate('Account')}
  74. b.caret
  75. ul.dropdown-menu
  76. li
  77. div.subdued {{ usersEmail }}
  78. li.divider.hidden-xs.hidden-sm
  79. li
  80. a(href="/user/settings") #{translate('Account Settings')}
  81. if nav.showSubscriptionLink
  82. li
  83. a(href="/user/subscription") #{translate('subscription')}
  84. li.divider.hidden-xs.hidden-sm
  85. li
  86. form(method="POST" action="/logout")
  87. input(name='_csrf', type='hidden', value=csrfToken)
  88. button.btn-link.text-left.dropdown-menu-button #{translate('log_out')}