diff --git a/app/coffee/app.coffee b/app/coffee/app.coffee index 8c66a6f1..c5536218 100644 --- a/app/coffee/app.coffee +++ b/app/coffee/app.coffee @@ -24,6 +24,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide) -> $routeProvider.when("/", {templateUrl: "/partials/projects.html"}) + $routeProvider.when("/create-project", {templateUrl: "/partials/create-project.html"}) $routeProvider.when("/project/:pslug/backlog", {templateUrl: "/partials/backlog.html"}) $routeProvider.when("/project/:pslug/taskboard/:id", {templateUrl: "/partials/taskboard.html"}) $routeProvider.when("/project/:pslug/search", {templateUrl: "/partials/search.html"}) diff --git a/app/coffee/modules/base.coffee b/app/coffee/modules/base.coffee index 062fe63e..0877d655 100644 --- a/app/coffee/modules/base.coffee +++ b/app/coffee/modules/base.coffee @@ -49,6 +49,7 @@ urls = { "change-password": "/change-password/:token", "register": "/register", "invitation": "/invitation/:token", + "create-project": "/create-project", "profile": "/:user", @@ -80,7 +81,9 @@ urls = { "project-admin-project-values-issue-types": "/project/:project/admin/project-values/issue-types", "project-admin-project-values-issue-priorities": "/project/:project/admin/project-values/issue-priorities", "project-admin-project-values-issue-severities": "/project/:project/admin/project-values/issue-severities", - "project-admin-memberships": "/project/:project/admin/memberships" + "project-admin-memberships": "/project/:project/admin/memberships", + "project-admin-project-profile-features": "/project/:project/admin/project-profile/features", + "project-admin-project-values-us-status": "/project/:project/admin/project-values/us-status" } init = ($log, $navurls) -> diff --git a/app/coffee/modules/nav.coffee b/app/coffee/modules/nav.coffee index 1022dacb..1f48df72 100644 --- a/app/coffee/modules/nav.coffee +++ b/app/coffee/modules/nav.coffee @@ -159,7 +159,7 @@ ProjectMenuDirective = ($log, $compile, $rootscope) -> $rootscope.$broadcast("nav:projects-list:open") $scope.$on "$viewContentLoaded", (ctx) -> - if ctx.targetScope.$$childHead is null + if ctx.targetScope.$$childHead is null || ctx.targetScope.$$childHead.hideMenu $log.error "No scope found for render menu." return @@ -172,5 +172,3 @@ ProjectMenuDirective = ($log, $compile, $rootscope) -> module.directive("tgProjectMenu", ["$log", "$compile", "$rootScope", ProjectMenuDirective]) - - diff --git a/app/coffee/modules/project.coffee b/app/coffee/modules/project.coffee index 99fa033f..0ad36560 100644 --- a/app/coffee/modules/project.coffee +++ b/app/coffee/modules/project.coffee @@ -5,6 +5,7 @@ class ProjectController extends taiga.Controller @.$inject = ["$scope", "$tgResources"] constructor: (@scope, @rs) -> + @scope.hideMenu = true @.projects = [] @.loadInitialData() diff --git a/app/images/project-selector.jpg b/app/images/project-selector.jpg new file mode 100644 index 00000000..88f6a1d8 Binary files /dev/null and b/app/images/project-selector.jpg differ diff --git a/app/partials/projects.jade b/app/partials/projects.jade index 5adccd95..b31f805a 100644 --- a/app/partials/projects.jade +++ b/app/partials/projects.jade @@ -4,10 +4,18 @@ block head title Taiga Project management web application with scrum in mind! block content - div.wrapper(ng-controller="ProjectController as ctrl") - section.main.home-projects-list - ul + div.home-projects-list(ng-controller="ProjectController as ctrl") + .home-projects-list-inner + ul.recent-projects li(ng-repeat="project in ctrl.projects") - a(href="", tg-nav="project-backlog:project=project.slug") - span(tg-bo-html="project.name") - span.icon.icon-arrow-right + .project-content + h2(tg-bo-html="project.name") + p(tg-bo-html="project.description") + .project-link + a.button.button-gray(href="", tg-nav="project-backlog:project=project.slug") Go to project + + div.all-projects + h1 Projects + ul + li(ng-repeat="project in ctrl.projects") + a.button(href="", tg-bo-html="project.name", tg-nav="project-backlog:project=project.slug") \ No newline at end of file diff --git a/app/styles/modules/home-projects-list.scss b/app/styles/modules/home-projects-list.scss index 3708c668..31574dd1 100644 --- a/app/styles/modules/home-projects-list.scss +++ b/app/styles/modules/home-projects-list.scss @@ -1,6 +1,30 @@ .home-projects-list { - background: url('/images/invitation_bg.jpg') no-repeat center center; + align-items: center; + background-image: url('/images/project-selector.jpg'); background-size: cover; + display: flex; + height: 100%; + justify-content: center; + left: 0; + padding: 0; + position: fixed; + top: 0; + width: 100%; +} + +.all-projects { + background-color: rgba(0, 0, 0, .5); + flex-grow: 0; + margin-left: 2rem; + min-width: 285px; + padding: 1rem; + h1 { + color: $whitish; + padding-left: 1rem; + } + li { + border-bottom: 2px solid $gray; + } a { @extend %large; @extend %title; @@ -8,6 +32,7 @@ display: block; padding: 1rem; text-transform: uppercase; + width: 100%; &.active, &:hover { @include transition (background-color .3s linear); @@ -18,20 +43,48 @@ } } } +} + +.home-projects-list-inner { + align-items: strech; + display: flex; + height: 575px; + max-width: 1300px; +} + +.recent-projects { + display: flex; + flex-grow: 0; + flex-wrap: wrap; + justify-content: space-between; + margin: 0; li { - border-bottom: 2px solid $gray; - &:last-child { - border-bottom: 0; + background-color: rgba(255, 255, 255, .5); + display: flex; + flex-grow: 0; + flex-shrink: 0; + flex-wrap: wrap; + max-width: 32%; + height: 280px; + padding: 2rem; + &:nth-child(-n+3) { + margin-bottom: 1rem; } } - ul { - background-color: #232323; - padding: 1rem; - width: 50%; - } - .icon { + h2, + a, + p { color: $whitish; - float: right; - opacity: 0; + } + .project-content, + .project-link { + min-width: 100%; + } + .project-link { + align-self: flex-end; + } + .button-gray { + text-align: center; + width: 100%; } }