diff --git a/app/coffee/app.coffee b/app/coffee/app.coffee index 8d208394..8c66a6f1 100644 --- a/app/coffee/app.coffee +++ b/app/coffee/app.coffee @@ -23,6 +23,7 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide) -> + $routeProvider.when("/", {templateUrl: "/partials/projects.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"}) @@ -147,6 +148,8 @@ modules = [ "taigaSearch", "taigaAdmin", "taigaNavMenu", + "taigaLightboxes", + "taigaProject", # Vendor modules "ngRoute", diff --git a/app/coffee/modules/auth.coffee b/app/coffee/modules/auth.coffee index 67295100..a4f43363 100644 --- a/app/coffee/modules/auth.coffee +++ b/app/coffee/modules/auth.coffee @@ -157,8 +157,7 @@ LoginDirective = ($auth, $confirm, $location, $config, $routeParams) -> if $routeParams and $routeParams['next'] and $routeParams['next'] != '/login' $location.url($routeParams['next']) else - console.log("TODO: Redirect to '/'") # TODO: Redirect to / - $location.path("/project/project-example-0/backlog") + $location.path("/") onErrorSubmit = (response) -> $confirm.notify("light-error", "According to our Oompa Loompas, your username/email or password diff --git a/app/coffee/modules/project.coffee b/app/coffee/modules/project.coffee new file mode 100644 index 00000000..99fa033f --- /dev/null +++ b/app/coffee/modules/project.coffee @@ -0,0 +1,16 @@ +taiga = @.taiga +module = angular.module("taigaProject", []) + +class ProjectController extends taiga.Controller + @.$inject = ["$scope", "$tgResources"] + + constructor: (@scope, @rs) -> + @.projects = [] + @.loadInitialData() + + loadInitialData: -> + return @rs.projects.list().then (projects) => + @.projects = projects + return projects + +module.controller("ProjectController", ProjectController) diff --git a/app/partials/projects.jade b/app/partials/projects.jade new file mode 100644 index 00000000..5adccd95 --- /dev/null +++ b/app/partials/projects.jade @@ -0,0 +1,13 @@ +extends dummy-layout + +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 + 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 diff --git a/app/styles/main.scss b/app/styles/main.scss index 723e40d5..1248f79c 100755 --- a/app/styles/main.scss +++ b/app/styles/main.scss @@ -56,6 +56,10 @@ $prefix-for-spec: true; @import 'modules/common/comment-activity'; @import 'modules/common/activity'; +//Project modules +@import 'modules/home-projects-list'; +@import 'modules/project-details'; + //Issues modules @import 'modules/issues/issues-table'; diff --git a/app/styles/modules/home-projects-list.scss b/app/styles/modules/home-projects-list.scss new file mode 100644 index 00000000..3708c668 --- /dev/null +++ b/app/styles/modules/home-projects-list.scss @@ -0,0 +1,37 @@ +.home-projects-list { + background: url('/images/invitation_bg.jpg') no-repeat center center; + background-size: cover; + a { + @extend %large; + @extend %title; + color: $whitish; + display: block; + padding: 1rem; + text-transform: uppercase; + &.active, + &:hover { + @include transition (background-color .3s linear); + background-color: $gray; + .icon { + @include transition (opacity .3s linear); + opacity: 1; + } + } + } + li { + border-bottom: 2px solid $gray; + &:last-child { + border-bottom: 0; + } + } + ul { + background-color: #232323; + padding: 1rem; + width: 50%; + } + .icon { + color: $whitish; + float: right; + opacity: 0; + } +}