side-bar.pug 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. .dropdown(dropdown)
  2. a.btn.btn-primary.sidebar-new-proj-btn.dropdown-toggle(
  3. href="#",
  4. data-toggle="dropdown",
  5. dropdown-toggle
  6. )
  7. | #{translate("new_project")}
  8. ul.dropdown-menu(role="menu")
  9. li
  10. a(
  11. href,
  12. sixpack-convert="first_sign_up",
  13. ng-click="openCreateProjectModal()"
  14. ) #{translate("blank_project")}
  15. li
  16. a(
  17. href,
  18. sixpack-convert="first_sign_up",
  19. ng-click="openCreateProjectModal('example')"
  20. ) #{translate("example_project")}
  21. li
  22. a(
  23. href,
  24. sixpack-convert="first_sign_up",
  25. ng-click="openUploadProjectModal()"
  26. ) #{translate("upload_project")}
  27. != moduleIncludes("newProjectMenu", locals)
  28. if (templates)
  29. li.divider
  30. li.dropdown-header #{translate("templates")}
  31. each item in templates
  32. li
  33. a.menu-indent(href=item.url, sixpack-convert="first_sign_up") #{translate(item.name)}
  34. .row-spaced(ng-if="projects.length > 0", ng-cloak)
  35. ul.list-unstyled.folders-menu(
  36. ng-controller="TagListController"
  37. )
  38. li(ng-class="{active: (filter == 'all')}", ng-click="filterProjects('all')")
  39. a(href) #{translate("all_projects")}
  40. li(ng-class="{active: (filter == 'owned')}", ng-click="filterProjects('owned')")
  41. a(href) #{translate("your_projects")}
  42. li(ng-class="{active: (filter == 'shared')}", ng-click="filterProjects('shared')")
  43. a(href) #{translate("shared_with_you")}
  44. li(ng-class="{active: (filter == 'archived')}", ng-click="filterProjects('archived')")
  45. a(href) #{translate("deleted_projects")}
  46. if isShowingV1Projects
  47. li(ng-class="{active: (filter == 'v1')}", ng-click="filterProjects('v1')")
  48. a(href) #{translate("v1_projects")}
  49. li.separator
  50. h2 #{translate("folders")}
  51. li.tag(
  52. ng-repeat="tag in tags | orderBy:'name'",
  53. ng-class="{active: tag.selected}",
  54. ng-cloak,
  55. ng-click="selectTag(tag)"
  56. )
  57. a.tag-name(href)
  58. i.icon.fa.fa-fw(
  59. ng-class="{\
  60. 'fa-folder-open-o': tag.selected,\
  61. 'fa-folder-o': !tag.selected\
  62. }"
  63. )
  64. span.name {{tag.name}}
  65. span.subdued ({{tag.project_ids.length}})
  66. span.v1-badge(
  67. ng-if="tag.isV1",
  68. ng-cloak,
  69. aria-label=translate("v1_badge")
  70. tooltip-template="'v1TagTooltipTemplate'"
  71. tooltip-append-to-body="true"
  72. )
  73. span.dropdown.tag-menu(dropdown)
  74. a.dropdown-toggle(
  75. href="#",
  76. data-toggle="dropdown",
  77. dropdown-toggle,
  78. stop-propagation="click"
  79. )
  80. span.caret
  81. ul.dropdown-menu.dropdown-menu-right(
  82. role="menu"
  83. )
  84. li
  85. a(href, ng-click="renameTag(tag)", stop-propagation="click")
  86. | #{translate("rename")}
  87. li
  88. a(href, ng-click="deleteTag(tag)", stop-propagation="click")
  89. | #{translate("delete")}
  90. li.tag.untagged(
  91. ng-if="tags.length",
  92. ng-cloak,
  93. ng-click="selectUntagged()"
  94. ng-class="{active: filter === 'untagged'}",
  95. )
  96. a.tag-name(href)
  97. | #{translate("uncategorized")}
  98. span.subdued ({{ nUntagged }})
  99. li(ng-cloak)
  100. a.tag(href, ng-click="openNewTagModal()")
  101. i.fa.fa-fw.fa-plus
  102. span.name #{translate("new_folder")}
  103. .row-spaced(ng-if="projects.length == 0", ng-cloak)
  104. .first-project
  105. div
  106. i.fa.fa-arrow-up.fa-2x
  107. div
  108. strong #{translate("create_your_first_project")}
  109. - if (showUserDetailsArea)
  110. span(ng-controller="LeftHandMenuPromoController", ng-cloak)
  111. .row-spaced#userProfileInformation(ng-if="hasProjects")
  112. div(ng-controller="UserProfileController")
  113. hr(ng-show="percentComplete < 100")
  114. .text-centered.user-profile(ng-show="percentComplete < 100")
  115. .progress
  116. .progress-bar.progress-bar-info(ng-style="{'width' : (percentComplete+'%')}")
  117. p.small #{translate("profile_complete_percentage", {percentval:"{{percentComplete}}"})}
  118. button#completeUserProfileInformation.btn.btn-info(
  119. ng-hide="formVisable",
  120. ng-click="openUserProfileModal()"
  121. ) #{translate("complete")}
  122. .row-spaced(ng-if="hasProjects && userHasNoSubscription", ng-cloak).text-centered
  123. hr
  124. p.small #{translate("on_free_sl")}
  125. p
  126. a(href="/user/subscription/plans", sixpack-convert="left-menu-upgraed-rotation").btn.btn-primary #{translate("upgrade")}
  127. p.small.text-centered
  128. | #{translate("or_unlock_features_bonus")}
  129. a(href="/user/bonus") #{translate("sharing_sl")} .
  130. script.
  131. window.userHasNoSubscription = #{!!(settings.enableSubscriptions && !hasSubscription)}