diff --git a/services/web/app/views/project/list.jade b/services/web/app/views/project/list.jade index 1c80b9a7a2..a6a3957720 100644 --- a/services/web/app/views/project/list.jade +++ b/services/web/app/views/project/list.jade @@ -23,7 +23,7 @@ block content .container .row(ng-cloak) - span(ng-show="first_sign_up == 'default' || projects.length > 0") + span(ng-if="projects.length > 0") aside.col-md-2.col-xs-3 include ./list/side-bar @@ -31,8 +31,8 @@ block content include ./list/notifications include ./list/project-list - span(ng-if="first_sign_up == 'minimial' && projects.length == 0") + span(ng-if="projects.length === 0") .col-md-offset-2.col-md-8.col-md-offset-2.col-xs-8 - include ./list/project-list-minimal + include ./list/empty-project-list include ./list/modals \ No newline at end of file diff --git a/services/web/app/views/project/list/empty-project-list.jade b/services/web/app/views/project/list/empty-project-list.jade new file mode 100644 index 0000000000..a6c6dcd299 --- /dev/null +++ b/services/web/app/views/project/list/empty-project-list.jade @@ -0,0 +1,46 @@ +.row.row-spaced + .col-xs-12 + .card.card-thin.project-list-card + div.welcome.text-centered(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.minimal-create-proj-dropdown(dropdown) + a.btn.btn-success.dropdown-toggle( + href="#", + data-toggle="dropdown", + dropdown-toggle + ) + | Create First Project + + ul.dropdown-menu.minimal-create-proj-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 (templates) + li.divider + li.dropdown-header #{translate("templates")} + each item in templates + li + a.menu-indent(href=item.url) #{translate(item.name)} + + diff --git a/services/web/app/views/project/list/project-list-minimal.jade b/services/web/app/views/project/list/project-list-minimal.jade deleted file mode 100644 index b73210f016..0000000000 --- a/services/web/app/views/project/list/project-list-minimal.jade +++ /dev/null @@ -1,202 +0,0 @@ -.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/public/coffee/main/project-list/project-list.coffee b/services/web/public/coffee/main/project-list/project-list.coffee index a528c0b96f..313b52ba1f 100644 --- a/services/web/public/coffee/main/project-list/project-list.coffee +++ b/services/web/public/coffee/main/project-list/project-list.coffee @@ -2,7 +2,7 @@ define [ "base" ], (App) -> - App.controller "ProjectPageController", ($scope, $modal, $q, $window, queuedHttp, event_tracking, $timeout, sixpack) -> + App.controller "ProjectPageController", ($scope, $modal, $q, $window, queuedHttp, event_tracking, $timeout) -> $scope.projects = window.data.projects $scope.tags = window.data.tags $scope.notifications = window.data.notifications @@ -12,14 +12,10 @@ define [ $scope.predicate = "lastUpdated" $scope.reverse = true - if $scope.projects.length > 0 - $scope.first_sign_up = "default" - else - sixpack.participate 'first_sign_up', ['default', 'minimial'], (chosenVariation, rawResponse)-> - $scope.first_sign_up = chosenVariation - $timeout () -> - recalculateProjectListHeight() - , 10 + if $scope.projects.length == 0 + $timeout () -> + recalculateProjectListHeight() + , 10 recalculateProjectListHeight = () -> topOffset = $(".project-list-card")?.offset()?.top diff --git a/services/web/public/stylesheets/app/project-list.less b/services/web/public/stylesheets/app/project-list.less index d3131f136c..8e5da6cb3d 100644 --- a/services/web/public/stylesheets/app/project-list.less +++ b/services/web/public/stylesheets/app/project-list.less @@ -279,3 +279,13 @@ ul.project-list { font-weight: 700; } } + +.minimal-create-proj-dropdown { + text-align:center; + + &-menu { + width:200px; + left:50%; + margin-left:-100px; + } +}