mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
41f75b5936
Fix potential Angular XSS issues GitOrigin-RevId: a18a609a25b29e910cb78e28a37398417cfe4842
154 lines
4.4 KiB
Text
154 lines
4.4 KiB
Text
.dropdown(
|
|
dropdown
|
|
dropdown-append-to-body
|
|
)
|
|
a.btn.btn-primary.sidebar-new-proj-btn.dropdown-toggle(
|
|
href="#",
|
|
data-toggle="dropdown",
|
|
dropdown-toggle
|
|
)
|
|
| #{translate("new_project")}
|
|
|
|
ul.dropdown-menu(role="menu")
|
|
li
|
|
a(
|
|
href,
|
|
ng-click="openCreateProjectModal()"
|
|
) #{translate("blank_project")}
|
|
li
|
|
a(
|
|
href,
|
|
ng-click="openCreateProjectModal('example')"
|
|
) #{translate("example_project")}
|
|
li
|
|
a(
|
|
href,
|
|
ng-click="openUploadProjectModal()"
|
|
) #{translate("upload_project")}
|
|
!= moduleIncludes("newProjectMenu", locals)
|
|
|
|
if portalTemplates.length > 0
|
|
//- portalTemplates is set in ProjectController
|
|
li.divider
|
|
li.dropdown-header #{translate("institution")} #{translate("templates")}
|
|
for portal in portalTemplates
|
|
li
|
|
a.menu-indent(
|
|
href=portal.url + "#templates",
|
|
ng-non-bindable
|
|
) #{portal.name}
|
|
|
|
|
|
|
|
if (templates)
|
|
//- templates is an express local var, via settings.templateLinks
|
|
li.divider
|
|
li.dropdown-header #{translate("templates")}
|
|
each item in templates
|
|
li
|
|
a.menu-indent(href=item.url) #{translate(item.name)}
|
|
|
|
.row-spaced(ng-if="projects.length > 0", ng-cloak)
|
|
ul.list-unstyled.folders-menu(
|
|
ng-controller="TagListController"
|
|
)
|
|
li(ng-class="{active: (filter == 'all')}", ng-click="filterProjects('all')")
|
|
a(href) #{translate("all_projects")}
|
|
li(ng-class="{active: (filter == 'owned')}", ng-click="filterProjects('owned')")
|
|
a(href) #{translate("your_projects")}
|
|
li(ng-class="{active: (filter == 'shared')}", ng-click="filterProjects('shared')")
|
|
a(href) #{translate("shared_with_you")}
|
|
li(ng-class="{active: (filter == 'archived')}", ng-click="filterProjects('archived')")
|
|
a(href) #{settings.overleaf ? translate("archived_projects") : translate("deleted_projects")}
|
|
if isShowingV1Projects
|
|
li(ng-class="{active: (filter == 'v1')}", ng-click="filterProjects('v1')")
|
|
a(href) #{translate("v1_projects")}
|
|
li.separator
|
|
h2 #{translate("tags_slash_folders")}
|
|
li.tag(ng-cloak)
|
|
a.tag-name(href, ng-click="openNewTagModal()")
|
|
i.fa.fa-fw.fa-plus(aria-hidden="true")
|
|
span.name #{translate("new_folder")}
|
|
li.tag(
|
|
ng-repeat="tag in tags | orderBy:'name'",
|
|
ng-class="{active: tag.selected}",
|
|
ng-cloak,
|
|
ng-click="selectTag(tag)"
|
|
)
|
|
a.tag-name(href)
|
|
i.icon.fa.fa-fw(
|
|
ng-class="{\
|
|
'fa-folder-open-o': tag.selected,\
|
|
'fa-folder-o': !tag.selected\
|
|
}"
|
|
aria-hidden="true"
|
|
)
|
|
span.name {{tag.name}}
|
|
span.subdued ({{tag.project_ids.length}})
|
|
span.v1-badge(
|
|
ng-if="tag.isV1",
|
|
ng-cloak,
|
|
aria-label=translate("v1_badge")
|
|
tooltip-template="'v1TagTooltipTemplate'"
|
|
tooltip-append-to-body="true"
|
|
)
|
|
span.dropdown.tag-menu(dropdown)(ng-if="!tag.isV1")
|
|
a.dropdown-toggle(
|
|
href="#",
|
|
data-toggle="dropdown",
|
|
dropdown-toggle,
|
|
stop-propagation="click"
|
|
)
|
|
span.caret
|
|
ul.dropdown-menu.dropdown-menu-right(
|
|
role="menu"
|
|
)
|
|
li
|
|
a(href, ng-click="renameTag(tag)", stop-propagation="click")
|
|
| #{translate("rename")}
|
|
li
|
|
a(href, ng-click="deleteTag(tag)", stop-propagation="click")
|
|
| #{translate("delete")}
|
|
li.tag.untagged(
|
|
ng-if="tags.length",
|
|
ng-cloak,
|
|
ng-click="selectUntagged()"
|
|
ng-class="{active: filter === 'untagged'}",
|
|
)
|
|
a.tag-name(href)
|
|
span.name
|
|
| #{translate("uncategorized")}
|
|
span.subdued ({{ nUntagged }})
|
|
|
|
.row-spaced(ng-if="projects.length == 0", ng-cloak)
|
|
.first-project
|
|
div
|
|
i.fa.fa-arrow-up.fa-2x(aria-hidden="true")
|
|
div
|
|
strong #{translate("create_your_first_project")}
|
|
|
|
- if (showUserDetailsArea)
|
|
span(ng-controller="LeftHandMenuPromoController", ng-cloak)
|
|
|
|
.row-spaced#userProfileInformation(ng-if="hasProjects")
|
|
div(ng-show="userEmails.length > 0 && userAffiliations.length == 0", ng-cloak)
|
|
hr
|
|
.text-centered.user-profile
|
|
p Are you affiliated with an institution?
|
|
|
|
a.btn.btn-info(
|
|
href="/user/settings"
|
|
) Add Affiliation
|
|
|
|
.row-spaced(ng-if="hasProjects && userHasNoSubscription && !userOnPayingUniversity", ng-cloak).text-centered
|
|
hr
|
|
p.small #{translate("on_free_sl")}
|
|
p
|
|
a(href="/user/subscription/plans").btn.btn-primary #{translate("upgrade")}
|
|
p.small.text-centered
|
|
| #{translate("or_unlock_features_bonus")}
|
|
a(href="/user/bonus") #{translate("sharing_sl")}.
|
|
|
|
|
|
script.
|
|
window.userHasNoSubscription = #{!!(settings.enableSubscriptions && !hasSubscription)}
|