Commit 10073da65ba27eabfc78653640d81870003f0f94

Authored by Leonardo Merlin
1 parent ada42c18

Fixes #23 and refact directive name from 'navbar' to 'app-navbar'

src/app/components/app-navbar/app-navbar.directive.js 0 → 100644
@@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
  1 +(function() {
  2 + 'use strict';
  3 +
  4 + angular
  5 + .module('dialoga')
  6 + .directive('appNavbar', appNavbar);
  7 +
  8 + /** @ngInject */
  9 + function appNavbar() {
  10 +
  11 + /** @ngInject */
  12 + function NavbarController($log) {
  13 + $log.debug('NavbarController');
  14 +
  15 + var vm = this;
  16 +
  17 + vm.scrollTo = function(hash) {
  18 + var $el = angular.element('#' + hash);
  19 + angular.element('body').animate({scrollTop: $el.offset().top}, 'slow');
  20 + };
  21 + }
  22 +
  23 + var directive = {
  24 + restrict: 'E',
  25 + templateUrl: 'app/components/app-navbar/app-navbar.html',
  26 + scope: {
  27 + creationDate: '='
  28 + },
  29 + controller: NavbarController,
  30 + controllerAs: 'vm',
  31 + bindToController: true
  32 + };
  33 +
  34 + return directive;
  35 + }
  36 +
  37 +})();
src/app/components/app-navbar/app-navbar.html 0 → 100644
@@ -0,0 +1,101 @@ @@ -0,0 +1,101 @@
  1 +<div class="app-navbar">
  2 + <nav id="navigation" class="header-navbar navbar" role="navigation">
  3 + <div class="navbar-header">
  4 + <div class="row">
  5 + <div class="row-height">
  6 + <div class="col-xs-10 col-xs-height col-middle">
  7 + <a class="navbar-brand" ui-sref="inicio">
  8 + <img src="/assets/images/logo.png" class="img-responsive" alt="Dialoga Brasil | O país fica melhor quando você participa" />
  9 + </a>
  10 + </div>
  11 + <div class="col-xs-2 col-xs-height col-middle">
  12 + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse" aria-expanded="false">
  13 + <span class="sr-only">Alternar menu de navegação</span>
  14 + <span class="icon-bar" aria-hidden="true"></span>
  15 + <span class="icon-bar" aria-hidden="true"></span>
  16 + <span class="icon-bar" aria-hidden="true"></span>
  17 + </button>
  18 + </div>
  19 + </div>
  20 + </div>
  21 + </div>
  22 +
  23 + <div id="navbar-collapse" class="collapse navbar-collapse">
  24 + <ul class="nav navbar-nav navbar-right">
  25 + <li ui-sref-active="active"><a ui-sref="sobre">Sobre</a></li>
  26 + <li ui-sref-active="active"><a ui-sref="programas">Programas</a></li>
  27 + <li ui-sref-active="active"><a ui-sref="propostas">Propostas</a></li>
  28 + <li ui-sref-active="active"><a ui-sref="ranking">Ranking</a></li>
  29 + <li ui-sref-active="active"><a ui-sref="duvidas">Dúvidas</a></li>
  30 + <li role="separator" class="divider hidden-xs hidden-sm"><span>|</span></li>
  31 + <li class="dropdown" style="border: none; margin: 20px 0;">
  32 + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Compartilhar <span aria-hidden="true" class="icon icon-social-share-small"></span></a>
  33 + <social-share class="dropdown-menu dropdown-menu-right" arrow-class="social-share--arrow"></social-share>
  34 + <div class="clearfix"></div>
  35 + </li>
  36 + <li class="hidden-sm hidden-md hidden-lg" style="border: none; padding-bottom: 10px !important;">
  37 + <div class="text text-right" style="padding-right: 20px;">DIALOGA <b>NAS REDES</b></div>
  38 + <ul class="social-share list-inline">
  39 + <li>
  40 + <a href="https://www.facebook.com/DialogaBrasil" target="_blank">
  41 + <span aria-hidden="true" class="icon-circle icon-small icon-circle-social-facebook"><span class="icon icon-social-facebook"></span></span>
  42 + <span class="sr-only">Visitar perfil no Facebook</span>
  43 + </a>
  44 + </li>
  45 + <li>
  46 + <a href="https://twitter.com/dialogabrasil" target="_blank">
  47 + <span aria-hidden="true" class="icon-circle icon-small icon-circle-social-twitter"><span class="icon icon-social-twitter"></span></span>
  48 + <span class="sr-only">Visitar perfil no Twitter</span>
  49 + </a>
  50 + </li>
  51 + <li>
  52 + <a href="https://www.youtube.com/channel/UCtjaJwOWwGu2legqFVAzhIA" target="_blank">
  53 + <span aria-hidden="true" class="icon-circle icon-small icon-circle-social-youtube"><span class="icon icon-social-youtube"></span></span>
  54 + <span class="sr-only">Visitar canal no Youtube</span>
  55 + </a>
  56 + </li>
  57 + <li>
  58 + <a href="https://www.flickr.com/photos/dialogabrasil" target="_blank">
  59 + <span aria-hidden="true" class="icon-circle icon-small icon-circle-social-flickr"><span class="icon icon-social-flickr"></span></span>
  60 + <span class="sr-only">Visitar canal no Flickr</span>
  61 + </a>
  62 + </li>
  63 + </ul>
  64 + <div class="clearfix"></div>
  65 + </li>
  66 + </ul>
  67 + </div>
  68 + </nav>
  69 +
  70 + <div id="dialoga-nas-redes" class="hidden-xs">
  71 + <div class="text text-right">
  72 + <p>DIALOGA<br><b>NAS REDES</b></p>
  73 + </div>
  74 + <ul class="social-share list-inline">
  75 + <li>
  76 + <a href="https://www.facebook.com/DialogaBrasil" target="_blank">
  77 + <span aria-hidden="true" class="icon-circle icon-small icon-circle-social-facebook"><span class="icon icon-social-facebook"></span></span>
  78 + <span class="sr-only">Visitar perfil no Facebook</span>
  79 + </a>
  80 + </li>
  81 + <li>
  82 + <a href="https://twitter.com/dialogabrasil" target="_blank">
  83 + <span aria-hidden="true" class="icon-circle icon-small icon-circle-social-twitter"><span class="icon icon-social-twitter"></span></span>
  84 + <span class="sr-only">Visitar perfil no Twitter</span>
  85 + </a>
  86 + </li>
  87 + <li>
  88 + <a href="https://www.youtube.com/channel/UCtjaJwOWwGu2legqFVAzhIA" target="_blank">
  89 + <span aria-hidden="true" class="icon-circle icon-small icon-circle-social-youtube"><span class="icon icon-social-youtube"></span></span>
  90 + <span class="sr-only">Visitar canal no Youtube</span>
  91 + </a>
  92 + </li>
  93 + <li>
  94 + <a href="https://www.flickr.com/photos/dialogabrasil" target="_blank">
  95 + <span aria-hidden="true" class="icon-circle icon-small icon-circle-social-flickr"><span class="icon icon-social-flickr"></span></span>
  96 + <span class="sr-only">Visitar canal no Flickr</span>
  97 + </a>
  98 + </li>
  99 + </ul>
  100 + </div>
  101 +</div>
src/app/components/app-navbar/app-navbar.scss 0 → 100644
@@ -0,0 +1,222 @@ @@ -0,0 +1,222 @@
  1 +.app-navbar {
  2 +
  3 + border-bottom: 2px solid #f1f1f1;
  4 +
  5 + .navbar {
  6 + margin-bottom: 0;
  7 + border: none;
  8 + }
  9 +
  10 + .navbar-brand {
  11 + height: auto;
  12 + padding-bottom: 0;
  13 + padding-left: 0;
  14 +
  15 + @media screen and (max-width: $screen-md) {
  16 + padding: 20px 0;
  17 + margin: 20px 0;
  18 + }
  19 + }
  20 +
  21 + .navbar-toggle {
  22 + border-radius: 100%;
  23 + background-color: #5e749d;
  24 +
  25 + .icon-bar {
  26 + height: 3px;
  27 + background-color: #fff;
  28 + }
  29 +
  30 + @media screen and (max-width: $screen-md) {
  31 + padding: 12px 10px;
  32 + margin: 0;
  33 + }
  34 + }
  35 +
  36 + .navbar-nav .divider span {
  37 + display: block;
  38 +
  39 + @media screen and (max-width: $screen-md) {
  40 + display: none;
  41 + }
  42 + }
  43 +
  44 + .dropdown-menu {
  45 + padding: 0;
  46 + }
  47 +
  48 + .navbar-nav {
  49 +
  50 + li > a {
  51 + text-transform: uppercase;
  52 + color: #616161;
  53 + font-weight: bold;
  54 +
  55 + &:hover,
  56 + &:focus {
  57 + background: none;
  58 + }
  59 +
  60 + .contraste & {
  61 + color: #fff;
  62 + }
  63 + }
  64 +
  65 + li.active > a {
  66 + border-bottom: 2px solid #77BB34;
  67 + }
  68 + }
  69 +
  70 + .contraste & {
  71 + .nav > li > a:hover,
  72 + .nav > li > a:focus {
  73 + color: #fff;
  74 + }
  75 +
  76 + .active a {
  77 + border-bottom-color: #fff;
  78 + }
  79 + }
  80 +
  81 + // <= Mobile
  82 + @media screen and (max-width: ($screen-sm - 1)) {
  83 + .navbar-collapse {
  84 + margin: 0 -15px;
  85 + }
  86 +
  87 + .navbar-nav {
  88 + background-color: #eee;
  89 +
  90 + & > li {
  91 + // border-top: 1px solid #ccc;
  92 + -moz-border-image: -moz-linear-gradient(left, #eee 0%, #ccc 100%);
  93 + -webkit-border-image: -webkit-linear-gradient(left, #eee 0%, #ccc 100%);
  94 + border-image: linear-gradient(to right, #eee 0%, #ccc 100%);
  95 + border-image-slice: 1;
  96 +
  97 + border-top: 1px solid #ccc;
  98 + border-bottom: 0px solid #ccc;
  99 + border-left: 0px solid #ccc;
  100 + border-right: 0px solid #ccc;
  101 + &:last-child {
  102 + border-bottom: 1px solid #ccc;
  103 + }
  104 + }
  105 +
  106 + & > li > a {
  107 + padding: 12px 20px;
  108 + margin: 0;
  109 + text-align: right;
  110 + }
  111 +
  112 + & > li.active > a {
  113 + border-bottom: none;
  114 + border-right: 4px solid #77BB34;
  115 + }
  116 +
  117 + .dropdown-toggle {
  118 + margin-top: 0px;
  119 +
  120 + }
  121 + .dropdown-menu {
  122 + position: relative;
  123 + margin-right: 10px;
  124 + }
  125 +
  126 + .social-share {
  127 + float: right;
  128 + }
  129 + }
  130 +
  131 + }
  132 +
  133 + // >= Table, < Destop
  134 + @media screen and (min-width: $screen-sm) and (max-width: ($screen-md - 1)) {
  135 + .navbar-brand {
  136 + padding-top: 0;
  137 + margin-top: 0;
  138 + margin-bottom: 60px;
  139 + }
  140 +
  141 + .navbar-collapse {
  142 + position: absolute;
  143 + left: 0;
  144 + bottom: 0;
  145 + width: 100%;
  146 +
  147 + ul.navbar-nav {
  148 + width: 100%;
  149 + float: none;
  150 + }
  151 +
  152 + li > a {
  153 + margin: 0 10px;
  154 + padding: 0 0 10px 0;
  155 + }
  156 +
  157 + li.dropdown {
  158 + position: absolute;
  159 + right: 0;
  160 + bottom: 0;
  161 +
  162 + .dropdown-toggle {
  163 + position: relative;
  164 + width: 160px;
  165 + margin: 0 5px 5px 0;
  166 + padding: 0;
  167 + }
  168 + }
  169 + }
  170 + }
  171 + // >= Desktop
  172 + @media screen and (min-width: $screen-md) {
  173 +
  174 + li > a {
  175 + padding: 15px 0;
  176 + margin: 0 9px;
  177 + }
  178 +
  179 + li.divider span{
  180 + padding: 12px 0;
  181 + line-height: 20px;
  182 + }
  183 +
  184 + li.dropdown {
  185 + .dropdown-toggle {
  186 + padding: 6px 10px;
  187 + margin: 0;
  188 + }
  189 + }
  190 + }
  191 +
  192 + // > Desktop Large
  193 + @media screen and (min-width: $screen-lg) {
  194 + .navbar-brand {
  195 + margin-bottom: 30px;
  196 + }
  197 +
  198 + ul.navbar-nav {
  199 + position: absolute;
  200 + right: 0;
  201 + bottom: 0;
  202 + }
  203 +
  204 + li.divider span{
  205 + padding: 12px 6px;
  206 + }
  207 + }
  208 +}
  209 +
  210 +#dialoga-nas-redes {
  211 + position: absolute;
  212 + right: 0;
  213 + top: 0;
  214 + z-index: 1000;
  215 +
  216 + .text {
  217 + position: absolute;
  218 + top: 5px;
  219 + right: 210px;
  220 + width: 100px;
  221 + }
  222 +}
src/app/components/navbar/navbar.directive.js
@@ -1,37 +0,0 @@ @@ -1,37 +0,0 @@
1 -(function() {  
2 - 'use strict';  
3 -  
4 - angular  
5 - .module('dialoga')  
6 - .directive('appNavbar', appNavbar);  
7 -  
8 - /** @ngInject */  
9 - function appNavbar() {  
10 -  
11 - /** @ngInject */  
12 - function NavbarController($log) {  
13 - $log.debug('NavbarController');  
14 -  
15 - var vm = this;  
16 -  
17 - vm.scrollTo = function(hash) {  
18 - var $el = angular.element('#' + hash);  
19 - angular.element('body').animate({scrollTop: $el.offset().top}, 'slow');  
20 - };  
21 - }  
22 -  
23 - var directive = {  
24 - restrict: 'E',  
25 - templateUrl: 'app/components/navbar/navbar.html',  
26 - scope: {  
27 - creationDate: '='  
28 - },  
29 - controller: NavbarController,  
30 - controllerAs: 'vm',  
31 - bindToController: true  
32 - };  
33 -  
34 - return directive;  
35 - }  
36 -  
37 -})();  
src/app/components/navbar/navbar.html
@@ -1,70 +0,0 @@ @@ -1,70 +0,0 @@
1 -<div class="app-navbar">  
2 - <nav id="navigation" class="header-navbar navbar" role="navigation">  
3 - <div class="navbar-header">  
4 - <div class="row">  
5 - <div class="row-height">  
6 - <div class="col-xs-10 col-xs-height col-middle">  
7 - <a class="navbar-brand" ui-sref="inicio">  
8 - <img src="/assets/images/logo.png" class="img-responsive" alt="Dialoga Brasil | O país fica melhor quando você participa" />  
9 - </a>  
10 - </div>  
11 - <div class="col-xs-2 col-xs-height col-middle">  
12 - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse" aria-expanded="false">  
13 - <span class="sr-only">Alternar menu de navegação</span>  
14 - <span class="icon-bar" aria-hidden="true"></span>  
15 - <span class="icon-bar" aria-hidden="true"></span>  
16 - <span class="icon-bar" aria-hidden="true"></span>  
17 - </button>  
18 - </div>  
19 - </div>  
20 - </div>  
21 - </div>  
22 -  
23 - <div id="navbar-collapse" class="collapse navbar-collapse">  
24 - <ul class="nav navbar-nav navbar-right">  
25 - <li ui-sref-active="active"><a ui-sref="sobre">Sobre</a></li>  
26 - <li ui-sref-active="active"><a ui-sref="programas">Programas</a></li>  
27 - <li ui-sref-active="active"><a ui-sref="propostas">Propostas</a></li>  
28 - <li ui-sref-active="active"><a ui-sref="ranking">Ranking</a></li>  
29 - <li ui-sref-active="active"><a ui-sref="duvidas">Dúvidas</a></li>  
30 - <li role="separator" class="divider hidden-xs hidden-sm"><span>|</span></li>  
31 - <li class="dropdown">  
32 - <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Compartilhar <span aria-hidden="true" class="icon icon-social-share-small"></span></a>  
33 - <social-share class="dropdown-menu dropdown-menu-right" arrow-class="social-share--arrow"></social-share>  
34 - </li>  
35 - </ul>  
36 - </div>  
37 - </nav>  
38 -  
39 - <div id="dialoga-nas-redes" class="hidden-xs">  
40 - <div class="text text-right">  
41 - <p>DIALOGA<br><b>NAS REDES</b></p>  
42 - </div>  
43 - <ul class="social-share list-inline">  
44 - <li>  
45 - <a href="https://www.facebook.com/DialogaBrasil" target="_blank">  
46 - <span aria-hidden="true" class="icon-circle icon-small icon-circle-social-facebook"><span class="icon icon-social-facebook"></span></span>  
47 - <span class="sr-only">Visitar perfil no Facebook</span>  
48 - </a>  
49 - </li>  
50 - <li>  
51 - <a href="https://twitter.com/dialogabrasil" target="_blank">  
52 - <span aria-hidden="true" class="icon-circle icon-small icon-circle-social-twitter"><span class="icon icon-social-twitter"></span></span>  
53 - <span class="sr-only">Visitar perfil no Twitter</span>  
54 - </a>  
55 - </li>  
56 - <li>  
57 - <a href="https://www.youtube.com/channel/UCtjaJwOWwGu2legqFVAzhIA" target="_blank">  
58 - <span aria-hidden="true" class="icon-circle icon-small icon-circle-social-youtube"><span class="icon icon-social-youtube"></span></span>  
59 - <span class="sr-only">Visitar canal no Youtube</span>  
60 - </a>  
61 - </li>  
62 - <li>  
63 - <a href="https://www.flickr.com/photos/dialogabrasil" target="_blank">  
64 - <span aria-hidden="true" class="icon-circle icon-small icon-circle-social-flickr"><span class="icon icon-social-flickr"></span></span>  
65 - <span class="sr-only">Visitar canal no Flickr</span>  
66 - </a>  
67 - </li>  
68 - </ul>  
69 - </div>  
70 -</div>  
src/app/components/navbar/navbar.scss
@@ -1,222 +0,0 @@ @@ -1,222 +0,0 @@
1 -.app-navbar {  
2 -  
3 - border-bottom: 2px solid #f1f1f1;  
4 -  
5 - .navbar {  
6 - margin-bottom: 0;  
7 - border: none;  
8 - }  
9 -  
10 - .navbar-brand {  
11 - height: auto;  
12 - padding-bottom: 0;  
13 - padding-left: 0;  
14 -  
15 - @media screen and (max-width: $screen-md) {  
16 - padding: 20px 0;  
17 - margin: 20px 0;  
18 - }  
19 - }  
20 -  
21 - .navbar-toggle {  
22 - border-radius: 100%;  
23 - background-color: #5e749d;  
24 -  
25 - .icon-bar {  
26 - height: 3px;  
27 - background-color: #fff;  
28 - }  
29 -  
30 - @media screen and (max-width: $screen-md) {  
31 - padding: 12px 10px;  
32 - margin: 0;  
33 - }  
34 - }  
35 -  
36 - .navbar-nav .divider span {  
37 - display: block;  
38 -  
39 - @media screen and (max-width: $screen-md) {  
40 - display: none;  
41 - }  
42 - }  
43 -  
44 - .dropdown-menu {  
45 - padding: 0;  
46 - }  
47 -  
48 - .navbar-nav {  
49 -  
50 - li > a {  
51 - text-transform: uppercase;  
52 - color: #616161;  
53 - font-weight: bold;  
54 -  
55 - &:hover,  
56 - &:focus {  
57 - background: none;  
58 - }  
59 -  
60 - .contraste & {  
61 - color: #fff;  
62 - }  
63 - }  
64 -  
65 - li.active > a {  
66 - border-bottom: 2px solid #77BB34;  
67 - }  
68 - }  
69 -  
70 - .contraste & {  
71 - .nav > li > a:hover,  
72 - .nav > li > a:focus {  
73 - color: #fff;  
74 - }  
75 -  
76 - .active a {  
77 - border-bottom-color: #fff;  
78 - }  
79 - }  
80 -  
81 - // <= Mobile  
82 - @media screen and (max-width: ($screen-sm - 1)) {  
83 - .navbar-collapse {  
84 - margin: 0 -15px;  
85 - }  
86 -  
87 - .navbar-nav {  
88 - background-color: #eee;  
89 -  
90 - & > li {  
91 - // border-top: 1px solid #ccc;  
92 - -moz-border-image: -moz-linear-gradient(left, #eee 0%, #ccc 100%);  
93 - -webkit-border-image: -webkit-linear-gradient(left, #eee 0%, #ccc 100%);  
94 - border-image: linear-gradient(to right, #eee 0%, #ccc 100%);  
95 - border-image-slice: 1;  
96 -  
97 - border-top: 1px solid #ccc;  
98 - border-bottom: 0px solid #ccc;  
99 - border-left: 0px solid #ccc;  
100 - border-right: 0px solid #ccc;  
101 - &:last-child {  
102 - border-bottom: 1px solid #ccc;  
103 - }  
104 - }  
105 -  
106 - & > li > a {  
107 - padding: 12px 20px;  
108 - margin: 0;  
109 - text-align: right;  
110 - }  
111 -  
112 - & > li.active > a {  
113 - border-bottom: none;  
114 - border-right: 4px solid #77BB34;  
115 - }  
116 -  
117 - .dropdown-toggle {  
118 - margin-top: 0px;  
119 -  
120 - }  
121 - .dropdown-menu {  
122 - position: relative;  
123 - margin-right: 10px;  
124 - }  
125 -  
126 - .social-share {  
127 - float: right;  
128 - }  
129 - }  
130 -  
131 - }  
132 -  
133 - // >= Table, < Destop  
134 - @media screen and (min-width: $screen-sm) and (max-width: ($screen-md - 1)) {  
135 - .navbar-brand {  
136 - padding-top: 0;  
137 - margin-top: 0;  
138 - margin-bottom: 60px;  
139 - }  
140 -  
141 - .navbar-collapse {  
142 - position: absolute;  
143 - left: 0;  
144 - bottom: 0;  
145 - width: 100%;  
146 -  
147 - ul.navbar-nav {  
148 - width: 100%;  
149 - float: none;  
150 - }  
151 -  
152 - li > a {  
153 - margin: 0 10px;  
154 - padding: 0 0 10px 0;  
155 - }  
156 -  
157 - li.dropdown {  
158 - position: absolute;  
159 - right: 0;  
160 - bottom: 0;  
161 -  
162 - .dropdown-toggle {  
163 - position: relative;  
164 - width: 160px;  
165 - margin: 0 5px 5px 0;  
166 - padding: 0;  
167 - }  
168 - }  
169 - }  
170 - }  
171 - // >= Desktop  
172 - @media screen and (min-width: $screen-md) {  
173 -  
174 - li > a {  
175 - padding: 15px 0;  
176 - margin: 0 9px;  
177 - }  
178 -  
179 - li.divider span{  
180 - padding: 12px 0;  
181 - line-height: 20px;  
182 - }  
183 -  
184 - li.dropdown {  
185 - .dropdown-toggle {  
186 - padding: 6px 10px;  
187 - margin: 0;  
188 - }  
189 - }  
190 - }  
191 -  
192 - // > Desktop Large  
193 - @media screen and (min-width: $screen-lg) {  
194 - .navbar-brand {  
195 - margin-bottom: 30px;  
196 - }  
197 -  
198 - ul.navbar-nav {  
199 - position: absolute;  
200 - right: 0;  
201 - bottom: 0;  
202 - }  
203 -  
204 - li.divider span{  
205 - padding: 12px 6px;  
206 - }  
207 - }  
208 -}  
209 -  
210 -#dialoga-nas-redes {  
211 - position: absolute;  
212 - right: 0;  
213 - top: 0;  
214 - z-index: 1000;  
215 -  
216 - .text {  
217 - position: absolute;  
218 - top: 5px;  
219 - right: 210px;  
220 - width: 100px;  
221 - }  
222 -}