Commit 9589c67953a89130319cea4e5f7a5c194f5260bd
Exists in
master
and in
8 other branches
Merge branch 'sitemap' into merlin
Showing
13 changed files
with
247 additions
and
75 deletions
Show diff stats
src/app/components/article-box/article-box.directive.js
src/app/components/navbar/navbar.html
... | ... | @@ -16,9 +16,10 @@ |
16 | 16 | <div id="navbar-collapse" class="collapse navbar-collapse"> |
17 | 17 | <ul class="nav navbar-nav"> |
18 | 18 | <li><a ui-sref="sobre">Sobre</a></li> |
19 | - <li><a ui-sref="inicio({'#':'lista-de-programas'})" ng-click="vm.scrollTo('lista-de-programas')">Programas</a></li> | |
19 | + <li><a ui-sref="programas">Programas</a></li> | |
20 | + <li><a ui-sref="propostas">Propostas</a></li> | |
20 | 21 | <!-- <li><a ui-sref="ranking">Ranking</a></li> --> |
21 | - <!-- <li><a ui-sref="duvidas">Dúvidas</a></li> --> | |
22 | + <li><a ui-sref="duvidas">Dúvidas</a></li> | |
22 | 23 | <!-- <li><a ui-sref="respostas">Respostas</a></li> --> |
23 | 24 | </ul> |
24 | 25 | </div> | ... | ... |
src/app/index.route.js
... | ... | @@ -45,30 +45,55 @@ |
45 | 45 | 'footer': { templateUrl: 'app/pages/footer/footer.html' } |
46 | 46 | } |
47 | 47 | }) |
48 | - .state('programa', { | |
49 | - url: '/programa/:slug', | |
48 | + .state('programas', { | |
49 | + url: '/programas', | |
50 | 50 | views: { |
51 | 51 | 'header': { templateUrl: 'app/pages/header/header.html' }, |
52 | 52 | 'main': { |
53 | - templateUrl: 'app/pages/programas/programa.html', | |
54 | - controller: 'ProgramaPageController', | |
53 | + templateUrl: 'app/pages/programas/programas.html', | |
54 | + controller: 'ProgramasPageController', | |
55 | 55 | controllerAs: 'pagePrograma' |
56 | 56 | }, |
57 | 57 | 'footer': { templateUrl: 'app/pages/footer/footer.html' } |
58 | 58 | } |
59 | 59 | }) |
60 | - .state('conheca-o-programa', { | |
61 | - url: '/programa/:slug/conheca-o-programa', | |
60 | + .state('programa-conteudo', { | |
61 | + url: '/programa/:slug', | |
62 | 62 | views: { |
63 | 63 | 'header': { templateUrl: 'app/pages/header/header.html' }, |
64 | 64 | 'main': { |
65 | - templateUrl: 'app/pages/programas/conheca-o-programa.html', | |
65 | + templateUrl: 'app/pages/programas/programa.html', | |
66 | 66 | controller: 'ProgramaContentPageController', |
67 | 67 | controllerAs: 'pageProgramaContent' |
68 | 68 | }, |
69 | 69 | 'footer': { templateUrl: 'app/pages/footer/footer.html' } |
70 | 70 | } |
71 | 71 | }) |
72 | + .state('propostas', { | |
73 | + url: '/propostas', | |
74 | + views: { | |
75 | + 'header': { templateUrl: 'app/pages/header/header.html' }, | |
76 | + 'main': { | |
77 | + templateUrl: 'app/pages/propostas/propostas.html', | |
78 | + controller: 'PropostasPageController', | |
79 | + controllerAs: 'pagePropostas' | |
80 | + }, | |
81 | + 'footer': { templateUrl: 'app/pages/footer/footer.html' } | |
82 | + } | |
83 | + }) | |
84 | + .state('propostas-details', {}) | |
85 | + .state('duvidas', { | |
86 | + url: '/duvidas', | |
87 | + views: { | |
88 | + 'header': { templateUrl: 'app/pages/header/header.html' }, | |
89 | + 'main': { | |
90 | + templateUrl: 'app/pages/duvidas/duvidas.html', | |
91 | + controller: 'DuvidasPageController', | |
92 | + controllerAs: 'pageDuvidas' | |
93 | + }, | |
94 | + 'footer': { templateUrl: 'app/pages/footer/footer.html' } | |
95 | + } | |
96 | + }) | |
72 | 97 | .state('sobre', { |
73 | 98 | url: '/sobre', |
74 | 99 | views: { |
... | ... | @@ -94,6 +119,14 @@ |
94 | 119 | 'footer': { templateUrl: 'app/pages/footer/footer.html' } |
95 | 120 | } |
96 | 121 | }) |
122 | + .state('mapa-do-site', { | |
123 | + url: '/mapa-do-site', | |
124 | + views: { | |
125 | + 'header': { templateUrl: 'app/pages/header/header.html' }, | |
126 | + 'main': { templateUrl: 'app/pages/sitemap/sitemap.html' }, | |
127 | + 'footer': { templateUrl: 'app/pages/footer/footer.html' } | |
128 | + } | |
129 | + }) | |
97 | 130 | ; |
98 | 131 | |
99 | 132 | $urlRouterProvider.otherwise('/'); | ... | ... |
... | ... | @@ -0,0 +1,51 @@ |
1 | +(function() { | |
2 | + 'use strict'; | |
3 | + | |
4 | + angular | |
5 | + .module('dialoga') | |
6 | + .controller('DuvidasPageController', DuvidasPageController); | |
7 | + | |
8 | + /** @ngInject */ | |
9 | + function DuvidasPageController(ArticleService, $state, $location, $scope, $rootScope, $log) { | |
10 | + $log.debug('DuvidasPageController'); | |
11 | + | |
12 | + var vm = this; | |
13 | + | |
14 | + vm.ArticleService = ArticleService; | |
15 | + vm.$state = $state; | |
16 | + vm.$location = $location; | |
17 | + vm.$scope = $scope; | |
18 | + vm.$rootScope = $rootScope; | |
19 | + vm.$log = $log; | |
20 | + | |
21 | + vm.init(); | |
22 | + } | |
23 | + | |
24 | + DuvidasPageController.prototype.init = function () { | |
25 | + var vm = this; | |
26 | + | |
27 | + var params = vm.$state.params; | |
28 | + var slug = params.slug; | |
29 | + | |
30 | + vm.article = null; | |
31 | + vm.categories = null; | |
32 | + vm.currentCategory = null; | |
33 | + vm.loading = true; | |
34 | + vm.error = false; | |
35 | + | |
36 | + vm.loadData(); | |
37 | + }; | |
38 | + | |
39 | + | |
40 | + DuvidasPageController.prototype.loadData = function () { | |
41 | + var vm = this; | |
42 | + | |
43 | + vm.ArticleService.getCategories(function(categories){ | |
44 | + vm.categories = categories; | |
45 | + }, function (error) { | |
46 | + vm.error = error; | |
47 | + vm.$log.error(error); | |
48 | + }); | |
49 | + | |
50 | + }; | |
51 | +})(); | ... | ... |
src/app/pages/programas/conheca-o-programa.html
... | ... | @@ -1,31 +0,0 @@ |
1 | -<div class="container page--conheca-o-programa"> | |
2 | - <div ng-if="pageProgramaContent.article && pageProgramaContent.categories"> | |
3 | - <article-bar category="pageProgramaContent.article.categories[0]" categories="pageProgramaContent.categories"></article-bar> | |
4 | - </div> | |
5 | - | |
6 | - <div ng-if="!pageProgramaContent.article.body"> | |
7 | - <div ng-if="!pageProgramaContent.error" class="alert alert-info" role="alert">Carregando detalhes sobre o progama...</div> | |
8 | - <div ng-if="pageProgramaContent.error" class="alert alert-warning" role="alert">{{pageProgramaContent}}</div> | |
9 | - </div> | |
10 | - | |
11 | - <div ng-if="pageProgramaContent.article.body"> | |
12 | - <article class="program-content"> | |
13 | - <div> | |
14 | - <section ng-bind-html="pageProgramaContent.article.body"></section> | |
15 | - </div> | |
16 | - </article> | |
17 | - <aside class="program--aside"ng-class="pageProgramaContent.article.categories[0].slug"> | |
18 | - <div class="col-sm-6" > | |
19 | - <div class="button--themed"> | |
20 | - <button class="btn btn-block" ng-click="pageProgramaContent.goToPreview()"> | |
21 | - <span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span> | |
22 | - Participe | |
23 | - </button> | |
24 | - </div> | |
25 | - </div> | |
26 | - <div class="col-sm-6"> | |
27 | - <social-share></social-share> | |
28 | - </div> | |
29 | - </aside> | |
30 | - </div> | |
31 | -</div> |
src/app/pages/programas/programa.controller.js
... | ... | @@ -3,11 +3,11 @@ |
3 | 3 | |
4 | 4 | angular |
5 | 5 | .module('dialoga') |
6 | - .controller('ProgramaPageController', ProgramaPageController); | |
6 | + .controller('ProgramasPageController', ProgramasPageController); | |
7 | 7 | |
8 | 8 | /** @ngInject */ |
9 | - function ProgramaPageController(ArticleService, $state, $location, $scope, $rootScope, $log) { | |
10 | - $log.debug('ProgramaPageController'); | |
9 | + function ProgramasPageController(ArticleService, $state, $location, $scope, $rootScope, $log) { | |
10 | + $log.debug('ProgramasPageController'); | |
11 | 11 | |
12 | 12 | var vm = this; |
13 | 13 | |
... | ... | @@ -21,7 +21,7 @@ |
21 | 21 | vm.init(); |
22 | 22 | } |
23 | 23 | |
24 | - ProgramaPageController.prototype.init = function () { | |
24 | + ProgramasPageController.prototype.init = function () { | |
25 | 25 | var vm = this; |
26 | 26 | |
27 | 27 | var params = vm.$state.params; |
... | ... | @@ -33,6 +33,13 @@ |
33 | 33 | vm.loading = true; |
34 | 34 | vm.error = false; |
35 | 35 | |
36 | + vm.loadData(); | |
37 | + }; | |
38 | + | |
39 | + | |
40 | + ProgramasPageController.prototype.loadData = function () { | |
41 | + var vm = this; | |
42 | + | |
36 | 43 | vm.ArticleService.getCategories(function(categories){ |
37 | 44 | vm.categories = categories; |
38 | 45 | }, function (error) { |
... | ... | @@ -40,29 +47,30 @@ |
40 | 47 | vm.$log.error(error); |
41 | 48 | }); |
42 | 49 | |
43 | - vm.ArticleService.getArticleBySlug(slug, function(article){ | |
44 | - vm.article = article; | |
45 | - vm.currentCategory = vm.article.categories[0]; | |
50 | + // vm.ArticleService.getArticleBySlug(slug, function(article){ | |
51 | + // vm.article = article; | |
52 | + // vm.currentCategory = vm.article.categories[0]; | |
46 | 53 | |
47 | - // load proposals | |
48 | - // vm.ArticleService.getRandomProposal(program.id, function(proposal){ | |
49 | - // vm.article.proposal = proposal; | |
50 | - // }, function (error){ | |
51 | - // vm.$log.error(error); | |
52 | - // }); | |
54 | + // // load proposals | |
55 | + // // vm.ArticleService.getRandomProposal(program.id, function(proposal){ | |
56 | + // // vm.article.proposal = proposal; | |
57 | + // // }, function (error){ | |
58 | + // // vm.$log.error(error); | |
59 | + // // }); | |
53 | 60 | |
54 | - // load events | |
55 | - // vm.ArticleService.getEvents(program.id, function(proposal){ | |
56 | - // vm.article.proposal = proposal; | |
57 | - // }, function (error){ | |
58 | - // vm.$log.error(error); | |
59 | - // }); | |
61 | + // // load events | |
62 | + // // vm.ArticleService.getEvents(program.id, function(proposal){ | |
63 | + // // vm.article.proposal = proposal; | |
64 | + // // }, function (error){ | |
65 | + // // vm.$log.error(error); | |
66 | + // // }); | |
67 | + | |
68 | + // }, function (error) { | |
69 | + // vm.error = error; | |
70 | + // vm.$log.error(error); | |
71 | + // vm.$log.info('Rollback to home page.'); | |
72 | + // vm.$state.go('inicio', {}, {location: true}); | |
73 | + // }); | |
60 | 74 | |
61 | - }, function (error) { | |
62 | - vm.error = error; | |
63 | - vm.$log.error(error); | |
64 | - vm.$log.info('Rollback to home page.'); | |
65 | - vm.$state.go('inicio', {}, {location: true}); | |
66 | - }); | |
67 | 75 | }; |
68 | 76 | })(); | ... | ... |
src/app/pages/programas/programa.html
1 | -<div class="container"> | |
2 | - | |
3 | - <div ng-if="pagePrograma.article && pagePrograma.categories"> | |
4 | - <article-bar category="pagePrograma.article.categories[0]" categories="pagePrograma.categories"></article-bar> | |
1 | +<div class="container page--conheca-o-programa"> | |
2 | + <div ng-if="pageProgramaContent.article && pageProgramaContent.categories"> | |
3 | + <article-bar category="pageProgramaContent.article.categories[0]" categories="pageProgramaContent.categories"></article-bar> | |
5 | 4 | </div> |
6 | 5 | |
7 | - <div ng-if="!pagePrograma.article"> | |
8 | - <div class="alert alert-info" role="alert">Carregando informações sobre o progama</div> | |
6 | + <div ng-if="!pageProgramaContent.article.body"> | |
7 | + <div ng-if="!pageProgramaContent.error" class="alert alert-info" role="alert">Carregando detalhes sobre o progama...</div> | |
8 | + <div ng-if="pageProgramaContent.error" class="alert alert-warning" role="alert">{{pageProgramaContent}}</div> | |
9 | 9 | </div> |
10 | 10 | |
11 | - <div ng-if="pagePrograma.article && pagePrograma.categories"> | |
12 | - <article-preview article="pagePrograma.article"></article-preview> | |
11 | + <div ng-if="pageProgramaContent.article.body"> | |
12 | + <article class="program-content"> | |
13 | + <div> | |
14 | + <section ng-bind-html="pageProgramaContent.article.body"></section> | |
15 | + </div> | |
16 | + </article> | |
17 | + <aside class="program--aside"ng-class="pageProgramaContent.article.categories[0].slug"> | |
18 | + <div class="col-sm-6" > | |
19 | + <div class="button--themed"> | |
20 | + <button class="btn btn-block" ng-click="pageProgramaContent.goToPreview()"> | |
21 | + <span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span> | |
22 | + Participe | |
23 | + </button> | |
24 | + </div> | |
25 | + </div> | |
26 | + <div class="col-sm-6"> | |
27 | + <social-share></social-share> | |
28 | + </div> | |
29 | + </aside> | |
13 | 30 | </div> |
14 | 31 | </div> |
15 | - | ... | ... |
... | ... | @@ -0,0 +1,51 @@ |
1 | +(function() { | |
2 | + 'use strict'; | |
3 | + | |
4 | + angular | |
5 | + .module('dialoga') | |
6 | + .controller('PropostasPageController', PropostasPageController); | |
7 | + | |
8 | + /** @ngInject */ | |
9 | + function PropostasPageController(ArticleService, $state, $location, $scope, $rootScope, $log) { | |
10 | + $log.debug('PropostasPageController'); | |
11 | + | |
12 | + var vm = this; | |
13 | + | |
14 | + vm.ArticleService = ArticleService; | |
15 | + vm.$state = $state; | |
16 | + vm.$location = $location; | |
17 | + vm.$scope = $scope; | |
18 | + vm.$rootScope = $rootScope; | |
19 | + vm.$log = $log; | |
20 | + | |
21 | + vm.init(); | |
22 | + } | |
23 | + | |
24 | + PropostasPageController.prototype.init = function () { | |
25 | + var vm = this; | |
26 | + | |
27 | + var params = vm.$state.params; | |
28 | + var slug = params.slug; | |
29 | + | |
30 | + vm.article = null; | |
31 | + vm.categories = null; | |
32 | + vm.currentCategory = null; | |
33 | + vm.loading = true; | |
34 | + vm.error = false; | |
35 | + | |
36 | + vm.loadData(); | |
37 | + }; | |
38 | + | |
39 | + | |
40 | + PropostasPageController.prototype.loadData = function () { | |
41 | + var vm = this; | |
42 | + | |
43 | + vm.ArticleService.getCategories(function(categories){ | |
44 | + vm.categories = categories; | |
45 | + }, function (error) { | |
46 | + vm.error = error; | |
47 | + vm.$log.error(error); | |
48 | + }); | |
49 | + | |
50 | + }; | |
51 | +})(); | ... | ... |
... | ... | @@ -0,0 +1,34 @@ |
1 | +<div id="sitemap"> | |
2 | + <div class="container"> | |
3 | + <div class="row"> | |
4 | + <div class="col-xs-12"> | |
5 | + <article> | |
6 | + <h1>Mapa do site</h1> | |
7 | + <p> | |
8 | + Uma visão geral do conteúdo disponível no site. Mantenha o ponteiro do mouse sobre o item por alguns segundos para visualizar sua descrição. | |
9 | + </p> | |
10 | + <ul class="list-sitemap"> | |
11 | + <li class="list-sitemap--item level-1"> | |
12 | + <a ui-sref="inicio" title="Página inicial do Dialoga Brasil">Início</a> | |
13 | + </li> | |
14 | + <li class="list-sitemap--item level-1"> | |
15 | + <a ui-sref="sobre" title="Conheça mais sobre o Dialoga Brasil">Sobre</a> | |
16 | + </li> | |
17 | + <li class="list-sitemap--item level-1"> | |
18 | + <a ui-sref="programas" title="Acesse a lista de programas">Programas</a> | |
19 | + </li> | |
20 | + <li class="list-sitemap--item level-1"> | |
21 | + <a ui-sref="propostas" title="Acesse a lista de propostas">Propostas</a> | |
22 | + </li> | |
23 | + <li class="list-sitemap--item level-1"> | |
24 | + <a ui-sref="duvidas" title="Acesse para ler as principais dúvidas ou enviar a sua.">Dúvidas</a> | |
25 | + </li> | |
26 | + <li class="list-sitemap--item level-1"> | |
27 | + <a ui-sref="termos-de-uso" title="Acesse para ler os termos de uso do Dialoga Brasil">Termos de uso</a> | |
28 | + </li> | |
29 | + </ul> | |
30 | + </article> | |
31 | + </div> | |
32 | + </div> | |
33 | + </div> | |
34 | +</div> | ... | ... |
src/assets/images/icons/sprite.png