diff --git a/services/web/app/views/project/list.jade b/services/web/app/views/project/list.jade
index 7544da209c..064f62e408 100644
--- a/services/web/app/views/project/list.jade
+++ b/services/web/app/views/project/list.jade
@@ -21,10 +21,17 @@ block content
.content.content-alt(ng-controller="ProjectPageController")
.container
.row
- aside.col-md-2.col-xs-3
- include ./list/side-bar
+ span(sixpack-switch="first_sign_up", ng-cloak)
- .col-md-10.col-xs-9
- include ./list/project-list
+ span(sixpack-default)
+ aside.col-md-2.col-xs-3
+ include ./list/side-bar
+
+ .col-md-10.col-xs-9
+ include ./list/project-list
+
+ span(sixpack-when="minimial")
+ .col-md-offset-2.col-md-8.col-md-offset-2.col-xs-8
+ include ./list/project-list-minimal
include ./list/modals
\ No newline at end of file
diff --git a/services/web/app/views/project/list/project-list-minimal.jade b/services/web/app/views/project/list/project-list-minimal.jade
new file mode 100644
index 0000000000..b73210f016
--- /dev/null
+++ b/services/web/app/views/project/list/project-list-minimal.jade
@@ -0,0 +1,202 @@
+.row
+ .col-xs-12(ng-cloak)
+
+ .project-tools(ng-cloak)
+ .btn-toolbar(ng-show="filter != 'archived'")
+ .btn-group(ng-hide="selectedProjects.length < 1")
+ a.btn.btn-default(
+ href='#',
+ tooltip="#{translate('download')}",
+ tooltip-placement="bottom",
+ tooltip-append-to-body="true",
+ ng-click="downloadSelectedProjects()"
+ )
+ i.fa.fa-cloud-download
+ a.btn.btn-default(
+ href='#',
+ tooltip="#{translate('delete')}",
+ tooltip-placement="bottom",
+ tooltip-append-to-body="true",
+ ng-click="openArchiveProjectsModal()"
+ )
+ i.fa.fa-trash-o
+
+ .btn-group.dropdown(ng-hide="selectedProjects.length < 1", dropdown)
+ a.btn.btn-default.dropdown-toggle(
+ href="#",
+ data-toggle="dropdown",
+ dropdown-toggle,
+ tooltip="#{translate('add_to_folders')}",
+ tooltip-append-to-body="true",
+ tooltip-placement="bottom"
+ )
+ i.fa.fa-folder-open-o
+ |
+ span.caret
+ ul.dropdown-menu.dropdown-menu-right.js-tags-dropdown-menu(
+ role="menu"
+ ng-controller="TagListController"
+ )
+ li.dropdown-header #{translate("add_to_folder")}
+ li(
+ ng-repeat="tag in tags | filter:nonEmpty | orderBy:'name'",
+ ng-controller="TagDropdownItemController"
+ )
+ a(href="#", ng-click="addOrRemoveProjectsFromTag()", stop-propagation="click")
+ i.fa(
+ ng-class="{\
+ 'fa-check-square-o': areSelectedProjectsInTag == true,\
+ 'fa-square-o': areSelectedProjectsInTag == false,\
+ 'fa-minus-square-o': areSelectedProjectsInTag == 'partial'\
+ }"
+ )
+ | {{tag.name}}
+ li.divider
+ li
+ a(href="#", ng-click="openNewTagModal()", stop-propagation="click") #{translate("create_new_folder")}
+
+ .btn-group(ng-hide="selectedProjects.length != 1", dropdown).dropdown
+ a.btn.btn-default.dropdown-toggle(
+ href='#',
+ data-toggle="dropdown",
+ dropdown-toggle
+ ) #{translate("more")}
+ span.caret
+ ul.dropdown-menu.dropdown-menu-right(role="menu")
+ li(ng-show="getFirstSelectedProject().accessLevel == 'owner'")
+ a(
+ href='#',
+ ng-click="openRenameProjectModal()"
+ ) #{translate("rename")}
+ li
+ a(
+ href='#',
+ ng-click="openCloneProjectModal()"
+ ) #{translate("make_copy")}
+
+ .btn-toolbar(ng-show="filter == 'archived'")
+ .btn-group(ng-hide="selectedProjects.length < 1")
+ a.btn.btn-default(
+ href='#',
+ data-original-title="Restore",
+ data-toggle="tooltip",
+ data-placement="bottom",
+ ng-click="restoreSelectedProjects()"
+ ) #{translate("restore")}
+
+ .btn-group(ng-hide="selectedProjects.length < 1")
+ a.btn.btn-danger(
+ href='#',
+ data-original-title="Delete Forever",
+ data-toggle="tooltip",
+ data-placement="bottom",
+ ng-click="openDeleteProjectsModal()"
+ ) #{translate("delete_forever")}
+
+.row.row-spaced
+ .col-xs-12
+ .card.card-thin.project-list-card
+ ul.list-unstyled.project-list.structured-list(
+ select-all-list,
+ ng-if="projects.length > 0",
+ max-height="projectListHeight - 25",
+ ng-cloak
+ )
+ li.container-fluid
+ .row
+ .col-xs-6
+ input.select-all(
+ select-all,
+ type="checkbox"
+ )
+ span.header.clickable(ng-click="changePredicate('name')") #{translate("title")}
+ i.tablesort.fa(ng-class="getSortIconClass('name')")
+ .col-xs-2
+ span.header.clickable(ng-click="changePredicate('accessLevel')") #{translate("owner")}
+ i.tablesort.fa(ng-class="getSortIconClass('accessLevel')")
+ .col-xs-4
+ span.header.clickable(ng-click="changePredicate('lastUpdated')") #{translate("last_modified")}
+ i.tablesort.fa(ng-class="getSortIconClass('lastUpdated')")
+ li.project_entry.container-fluid(
+ ng-repeat="project in visibleProjects | orderBy:predicate:reverse",
+ ng-controller="ProjectListItemController"
+ )
+ .row
+ .col-xs-6
+ input.select-item(
+ select-individual,
+ type="checkbox",
+ ng-model="project.selected"
+ )
+ span
+ a.projectName(href="/project/{{project.id}}") {{project.name}}
+ span(
+ ng-controller="TagListController"
+ )
+ a.label.label-default.tag-label(
+ href,
+ ng-repeat='tag in project.tags',
+ ng-click="selectTag(tag)"
+ ) {{tag.name}}
+ .col-xs-2
+ span.owner {{ownerName()}}
+ .col-xs-4
+ span.last-modified {{project.lastUpdated | formatDate}}
+ li(
+ ng-if="visibleProjects.length == 0",
+ ng-cloak
+ )
+ .row
+ .col-xs-12.text-centered
+ small #{translate("no_projects")}
+
+ div.welcome.text-centered(ng-if="projects.length == 0", ng-cloak)
+ h2 #{translate("welcome_to_sl")}
+ p #{translate("new_to_latex_look_at")}
+ a(href="/templates") #{translate("templates").toLowerCase()}
+ | #{translate("or")}
+ a(href="/learn") #{translate("latex_help_guide")}
+
+
+ .row
+ .col-md-offset-4.col-md-4
+ .dropdown(dropdown)
+ a.btn.btn-success.dropdown-toggle(
+ href="#",
+ data-toggle="dropdown",
+ dropdown-toggle
+ )
+ | Create First Project
+ style.
+ .dropdown{text-align:center;}
+ .button, .dropdown-menu{margin:2px auto}
+ .dropdown-menu{width:200px; left:50%; margin-left:-100px;}
+
+ ul.dropdown-menu(role="menu", style="text-align:center;")
+ li
+ a(
+ href,
+ ng-click="openCreateProjectModal()"
+ sixpack-convert="first_sign_up",
+ ) #{translate("blank_project")}
+ li
+ a(
+ href,
+ sixpack-convert="first_sign_up",
+ ng-click="openCreateProjectModal('example')"
+ ) #{translate("example_project")}
+ li
+ a(
+ href,
+ sixpack-convert="first_sign_up",
+ ng-click="openUploadProjectModal()"
+ ) #{translate("upload_project")}
+ != moduleIncludes("newProjectMenu", locals)
+ if (templates)
+ li.divider
+ li.dropdown-header #{translate("templates")}
+ each item in templates
+ li
+ a.menu-indent(href=item.url, sixpack-convert="first_sign_up") #{translate(item.name)}
+
+
diff --git a/services/web/app/views/project/list/project-list.jade b/services/web/app/views/project/list/project-list.jade
index 2802daaa67..41f9b03bcc 100644
--- a/services/web/app/views/project/list/project-list.jade
+++ b/services/web/app/views/project/list/project-list.jade
@@ -1,5 +1,8 @@
.row
- .col-xs-12
+ .col-xs-12(ng-cloak)
+
+
+
form.project-search.form-horizontal(role="form")
.form-group.has-feedback.has-feedback-left.col-md-7.col-xs-12
input.form-control.col-md-7.col-xs-12(
@@ -165,6 +168,7 @@
.row
.col-xs-12.text-centered
small #{translate("no_projects")}
+
div.welcome.text-centered(ng-if="projects.length == 0", ng-cloak)
h2 #{translate("welcome_to_sl")}
p #{translate("new_to_latex_look_at")}
@@ -174,3 +178,5 @@
| ,
br
| #{translate("or_create_project_left")}
+
+
diff --git a/services/web/app/views/project/list/side-bar.jade b/services/web/app/views/project/list/side-bar.jade
index 558a83c838..88292a1ad9 100644
--- a/services/web/app/views/project/list/side-bar.jade
+++ b/services/web/app/views/project/list/side-bar.jade
@@ -10,16 +10,19 @@
li
a(
href,
+ sixpack-convert="first_sign_up",
ng-click="openCreateProjectModal()"
) #{translate("blank_project")}
li
a(
href,
+ sixpack-convert="first_sign_up",
ng-click="openCreateProjectModal('example')"
) #{translate("example_project")}
li
a(
href,
+ sixpack-convert="first_sign_up",
ng-click="openUploadProjectModal()"
) #{translate("upload_project")}
!= moduleIncludes("newProjectMenu", locals)
@@ -28,7 +31,7 @@
li.dropdown-header #{translate("templates")}
each item in templates
li
- a.menu-indent(href=item.url) #{translate(item.name)}
+ a.menu-indent(href=item.url, sixpack-convert="first_sign_up") #{translate(item.name)}
.row-spaced(ng-if="projects.length > 0", ng-cloak)
ul.list-unstyled.folders-menu(
@@ -69,41 +72,20 @@
i.fa.fa-arrow-up.fa-2x
div
strong #{translate("create_your_first_project")}
-
+
- if (showUserDetailsArea)
- if (Math.random() < 0.5)
.row-spaced
hr
- .card.card-thin(ng-cloak)
- span(sixpack-switch="datajoy_promo_button")
- span(sixpack-default)
- p.text-center.small
- | Python or R user?
- p.text-center.small
- a(sixpack-convert="datajoy_promo_button", href="https://www.getdatajoy.com/", target="_blank").btn.btn-info.btn-small Try DataJoy
- p.text-center.small(style="font-size: 0.8em")
- a(href="https://www.getdatajoy.com/", target="_blank") DataJoy
- | is a new online Python and R editor from ShareLaTeX.
+ .card.card-thin
+ p.text-center.small
+ | Python or R user?
+ p.text-center.small
+ a(sixpack-convert="datajoy_promo_button", href="https://www.getdatajoy.com/", target="_blank").btn.btn-info.btn-small Try DataJoy
+ p.text-center.small(style="font-size: 0.8em")
+ a(href="https://www.getdatajoy.com/", target="_blank") DataJoy
+ | is a new online Python and R editor from ShareLaTeX.
- span(sixpack-when="learning")
- p.text-center.small
- | Learning Python?
- p.text-center.small
- a(sixpack-convert="datajoy_promo_button", href="https://www.getdatajoy.com/", target="_blank").btn.btn-info.btn-small Try DataJoy
- p.text-center.small(style="font-size: 0.8em")
- a(href="https://www.getdatajoy.com/", target="_blank") DataJoy
- | is the easiest editor to use when learning Python.
-
-
- span(sixpack-when="try-now")
- p.text-center.small
- | Python or R user?
- p.text-center.small
- a(sixpack-convert="datajoy_promo_button", href="https://www.getdatajoy.com/", target="_blank").btn.btn-info.btn-small Try Now
-
- p.text-center.small(style="font-size: 0.8em")
- a(href="https://www.getdatajoy.com/", target="_blank") DataJoy
- | lets work with Python & R in the browser.
- else
.row-spaced#userProfileInformation(ng-if="projects.length > 0", ng-cloak)
div(ng-controller="UserProfileController")