Commit 1a52d3e7c3032f184eb89b4ba58b2fa56cad4b49
Exists in
master
and in
8 other branches
Merge branch 'rafael' into merlin
Showing
21 changed files
with
551 additions
and
377 deletions
Show diff stats
src/app/components/cadastro-proposta/cadastro-proposta.directive.js
0 → 100644
@@ -0,0 +1,59 @@ | @@ -0,0 +1,59 @@ | ||
1 | +(function() { | ||
2 | + 'use strict'; | ||
3 | + | ||
4 | + angular | ||
5 | + .module('dialoga') | ||
6 | + .directive('cadastroProposta', cadastroProposta); | ||
7 | + | ||
8 | + /** @ngInject */ | ||
9 | + function cadastroProposta() { | ||
10 | + | ||
11 | + /** @ngInject */ | ||
12 | + function CadastroPropostaController ($scope, $element, $timeout, $log) { | ||
13 | + $log.debug('cadastroPropostaController'); | ||
14 | + | ||
15 | + var vm = this; | ||
16 | + vm.$scope = $scope; | ||
17 | + vm.$element = $element; | ||
18 | + vm.$timeout = $timeout; | ||
19 | + vm.$log = $log; | ||
20 | + | ||
21 | + vm.init(); | ||
22 | + } | ||
23 | + | ||
24 | + CadastroPropostaController.prototype.init = function () { | ||
25 | + // async values | ||
26 | + var vm = this; | ||
27 | + | ||
28 | + // requeue to wait until DOM be created | ||
29 | + vm.$timeout(function(){ | ||
30 | + attachPopover.call(vm); | ||
31 | + }, 100); | ||
32 | + }; | ||
33 | + | ||
34 | + function attachPopover(){ | ||
35 | + var vm = this; | ||
36 | + | ||
37 | + vm.popover = angular.element(vm.$element.find('.link-popover')); | ||
38 | + vm.popover.popover({ | ||
39 | + html: true, | ||
40 | + placement: 'bottom', | ||
41 | + animation: true, | ||
42 | + title: 'Regra de posição das propostas', | ||
43 | + content: '<p>Poderia escrever a sua proposta em um texto simples e breve?</p><br><p>Sua proposta passará pela fase de moderação. Assim que ela estiver pronta para compartilhar, avisaremos você.' | ||
44 | + }); | ||
45 | + } | ||
46 | + | ||
47 | + var directive = { | ||
48 | + restrict: 'E', | ||
49 | + templateUrl: 'app/components/cadastro-proposta/cadastro-proposta.html', | ||
50 | + scope: {}, | ||
51 | + controller: CadastroPropostaController, | ||
52 | + controllerAs: 'vm', | ||
53 | + bindToController: true | ||
54 | + }; | ||
55 | + | ||
56 | + return directive; | ||
57 | + } | ||
58 | + | ||
59 | +})(); |
src/app/components/cadastro-proposta/cadastro-proposta.html
0 → 100644
@@ -0,0 +1,40 @@ | @@ -0,0 +1,40 @@ | ||
1 | +<div id="message" class="envio-proposta"> | ||
2 | + <div class="row linha-proposta"> | ||
3 | + <div class="col-sm-8"> | ||
4 | + <span class="titulo-envio-proposta">Faça sua proposta</span> | ||
5 | + <p> | ||
6 | + Aqui você cadastra sua proposta e ajuda a construir um Brasil melhor. | ||
7 | + </p> | ||
8 | + </div> | ||
9 | + </div> | ||
10 | + <div class="row linha-proposta"> | ||
11 | + <div class="col-sm-8"> | ||
12 | + <p>Você está fazendo uma proposta para o programa:</p> | ||
13 | + <div class="bloco-programa"> | ||
14 | + <span class="texto-programa">Nome do progama</span> | ||
15 | + </div> | ||
16 | + </div> | ||
17 | + </div> | ||
18 | + <form role="form" name="testeForm" ng-submit="pageSignin.login(pageSignin.credentials)" novalidate> | ||
19 | + <div class="form-group"> | ||
20 | + <div class="row linha-proposta"> | ||
21 | + <div class="col-sm-8"> | ||
22 | + <span>Descrição da proposta*</span> | ||
23 | + <div class="teste"><a tabindex="0" class="btn btn-link link-popover" role="button" data-toggle="popover" data-trigger="focus">?</a></div> | ||
24 | + <textarea id="proposta" name="proposta" class="texto-proposta form-control" | ||
25 | + ng-class="{ 'has-error' : testeForm.proposta.$invalid && testeForm.proposta.$touched }" | ||
26 | + ng-model="proposta" | ||
27 | + required ng-maxlength="200" ></textarea> | ||
28 | + <validation-messages field="testeForm.proposta" maxlength="'Ops, esse campo não pode ser maior que 200 caracteres.'"/> | ||
29 | + <span class="pull-left">*Dados obrigatórios</span> | ||
30 | + <span class="pull-right">Máx. 200 caracteres</span> | ||
31 | + </div> | ||
32 | + </div> | ||
33 | + </div> | ||
34 | + <div class="form-group"> | ||
35 | + <div class="col-sm-4"> | ||
36 | + <button class="btn btn-lg btn-block btn-submit" type="submit">Enviar Proposta</button> | ||
37 | + </div> | ||
38 | + </div> | ||
39 | +</form> | ||
40 | +</div> |
src/app/components/cadastro-proposta/cadastro-proposta.scss
0 → 100644
@@ -0,0 +1,55 @@ | @@ -0,0 +1,55 @@ | ||
1 | +.envio-proposta { | ||
2 | + | ||
3 | + .titulo-envio-proposta{ | ||
4 | + color: #2D7B66; | ||
5 | + } | ||
6 | + | ||
7 | + .bloco-programa { | ||
8 | + border-color: gray; | ||
9 | + border-width: 1px; | ||
10 | + border-style: solid; | ||
11 | + border-radius: 5px; | ||
12 | + padding: 15px; | ||
13 | + } | ||
14 | + | ||
15 | + .texto-programa { | ||
16 | + font-weight: 600; | ||
17 | + } | ||
18 | + | ||
19 | + .linha-proposta { | ||
20 | + margin-bottom: 40px; | ||
21 | + } | ||
22 | + | ||
23 | + .texto-proposta { | ||
24 | + width: 100%; | ||
25 | + height: 200px; | ||
26 | + resize: none; | ||
27 | + } | ||
28 | + | ||
29 | + .popover .fade .right .in { | ||
30 | + top: 0px!important; | ||
31 | + } | ||
32 | + | ||
33 | + .popover-content { | ||
34 | + width: 300px; | ||
35 | + } | ||
36 | + | ||
37 | + .popover-title { | ||
38 | + display: none; | ||
39 | + } | ||
40 | + | ||
41 | + .teste { | ||
42 | + border-radius: 10px; | ||
43 | + width: 20px; | ||
44 | + height: 20px; | ||
45 | + display: inline-block; | ||
46 | + background-color: lightyellow; | ||
47 | + } | ||
48 | + | ||
49 | + .link-popover { | ||
50 | + font-size: 15px; | ||
51 | + color: gray; | ||
52 | + padding: 0px 7px; | ||
53 | + border-style: none; | ||
54 | + } | ||
55 | +} |
src/app/components/proposal-list/proposal-list.html
@@ -9,7 +9,8 @@ | @@ -9,7 +9,8 @@ | ||
9 | <tr> | 9 | <tr> |
10 | <th> | 10 | <th> |
11 | Colocação | 11 | Colocação |
12 | - <button type="button" class="btn btn-link btn-question">?</button> | 12 | + <!-- <button type="button" class="btn btn-link btn-question">?</button> --> |
13 | + <a tabindex="0" class="btn btn-link btn-questionr" role="button" data-toggle="popover" data-trigger="focus">?</a> | ||
13 | </th> | 14 | </th> |
14 | <th>123 PROPOSTAS</th> | 15 | <th>123 PROPOSTAS</th> |
15 | </tr> | 16 | </tr> |
src/app/components/show-message/message.html
@@ -1,21 +0,0 @@ | @@ -1,21 +0,0 @@ | ||
1 | -<div | ||
2 | - id="message" | ||
3 | - class="show-message"> | ||
4 | - <div class="row"> | ||
5 | - <div class="col-sm-1 col-sm-offset-2"> | ||
6 | - <div class="message-border {{ ::vm.type }}"> | ||
7 | - <span | ||
8 | - class="glyphicon glyphicon-ok icon-white" | ||
9 | - aria-hidden="true"></span> | ||
10 | - </div> | ||
11 | - </div> | ||
12 | - <div class="col-sm-4"> | ||
13 | - <h3>{{ ::vm.title }}</h3> | ||
14 | - </div> | ||
15 | - </div> | ||
16 | - <div class="row"> | ||
17 | - <div class="col-sm-8 col-sm-offset-3"> | ||
18 | - <h5>{{ ::vm.message }}</h5> | ||
19 | - </div> | ||
20 | - </div> | ||
21 | -</div> | ||
22 | \ No newline at end of file | 0 | \ No newline at end of file |
src/app/components/show-message/show-message.directive.js
@@ -18,7 +18,7 @@ | @@ -18,7 +18,7 @@ | ||
18 | 18 | ||
19 | var directive = { | 19 | var directive = { |
20 | restrict: 'E', | 20 | restrict: 'E', |
21 | - templateUrl: 'app/components/show-message/message.html', | 21 | + templateUrl: 'app/components/show-message/show-message.html', |
22 | scope: { | 22 | scope: { |
23 | type: '=', | 23 | type: '=', |
24 | title: '=', | 24 | title: '=', |
@@ -0,0 +1,17 @@ | @@ -0,0 +1,17 @@ | ||
1 | +<div id="message" class="show-message"> | ||
2 | + <div class="row"> | ||
3 | + <div class="div-center"> | ||
4 | + <div class="col-sm-2 col-sm-offset-2 message-border {{ ::vm.type }}"> | ||
5 | + <span class="glyphicon glyphicon-ok icon-white" aria-hidden="true"></span> | ||
6 | + </div> | ||
7 | + </div> | ||
8 | + <div class="col-sm-7 div-mensagem"> | ||
9 | + <div class="row"> | ||
10 | + <h3>{{ ::vm.title }}</h3> | ||
11 | + </div> | ||
12 | + <div class="row"> | ||
13 | + <h5>{{ ::vm.message }}</h5> | ||
14 | + </div> | ||
15 | + </div> | ||
16 | + </div> | ||
17 | +</div> |
src/app/components/show-message/show-message.scss
@@ -11,8 +11,16 @@ | @@ -11,8 +11,16 @@ | ||
11 | .success { | 11 | .success { |
12 | background-color: #8AB34D; | 12 | background-color: #8AB34D; |
13 | } | 13 | } |
14 | - | 14 | + |
15 | .error { | 15 | .error { |
16 | background-color: #C93E55; | 16 | background-color: #C93E55; |
17 | } | 17 | } |
18 | + | ||
19 | + .div-center { | ||
20 | + text-align: center; | ||
21 | + } | ||
22 | + | ||
23 | + .div-mensagem { | ||
24 | + margin-left: 30px; | ||
25 | + } | ||
18 | } | 26 | } |
src/app/components/validation-messages/validation-messages.directive.js
0 → 100644
@@ -0,0 +1,52 @@ | @@ -0,0 +1,52 @@ | ||
1 | +(function() { | ||
2 | + 'use strict'; | ||
3 | + | ||
4 | + angular | ||
5 | + .module('dialoga') | ||
6 | + .directive('validationMessages', validationMessages); | ||
7 | + | ||
8 | + /** @ngInject */ | ||
9 | + function validationMessages() { | ||
10 | + | ||
11 | + /** @ngInject */ | ||
12 | + function validationMessagesController($log) { | ||
13 | + $log.debug('validationMessagesController'); | ||
14 | + | ||
15 | + var vm = this; | ||
16 | + vm.$log = $log; | ||
17 | + | ||
18 | + vm.init(); | ||
19 | + | ||
20 | + } | ||
21 | + | ||
22 | + validationMessagesController.prototype.init = function () { | ||
23 | + // async values | ||
24 | + var vm = this; | ||
25 | + | ||
26 | + if (!vm.required) {vm.required = "Ops, o campo é obrigatório."}; | ||
27 | + if (!vm.minlength) {vm.minlength = "O campo deve ser maior."}; | ||
28 | + if (!vm.maxlength) {vm.maxlength = "O campo deve ser menor"}; | ||
29 | + if (!vm.email) {vm.email = "O endereço de e-mail deve ser válido"}; | ||
30 | + | ||
31 | + }; | ||
32 | + | ||
33 | + var directive = { | ||
34 | + restrict: 'E', | ||
35 | + templateUrl: 'app/components/validation-messages/validation-messages.html', | ||
36 | + scope: { | ||
37 | + field: '=', | ||
38 | + required: '=', | ||
39 | + minlength: '=', | ||
40 | + maxlength: '=', | ||
41 | + email: '=' | ||
42 | + }, | ||
43 | + controller: validationMessagesController, | ||
44 | + controllerAs: 'vm', | ||
45 | + bindToController: true | ||
46 | + }; | ||
47 | + | ||
48 | + return directive; | ||
49 | + } | ||
50 | + | ||
51 | +})(); | ||
52 | + |
src/app/components/validation-messages/validation-messages.html
0 → 100644
@@ -0,0 +1,10 @@ | @@ -0,0 +1,10 @@ | ||
1 | +<div ng-show="vm.field.$touched"> | ||
2 | + <div ng-messages="vm.field.$error"> | ||
3 | + <div class="error-message"> | ||
4 | + <div ng-message="required">{{vm.required}}</div> | ||
5 | + <div ng-message="minlength">{{vm.minlength}}</div> | ||
6 | + <div ng-message="maxlength">{{vm.maxlength}}</div> | ||
7 | + <div ng-message="email">{{vm.email}}</div> | ||
8 | + </div> | ||
9 | + </div> | ||
10 | +</div> |
src/app/components/validation-messages/validation-messages.scss
0 → 100644
src/app/index.route.js
@@ -35,6 +35,7 @@ | @@ -35,6 +35,7 @@ | ||
35 | 'footer': { templateUrl: 'app/pages/footer/footer.html' } | 35 | 'footer': { templateUrl: 'app/pages/footer/footer.html' } |
36 | } | 36 | } |
37 | }) | 37 | }) |
38 | + // apenas para teste das mensagens | ||
38 | .state('mensagem', { | 39 | .state('mensagem', { |
39 | url: '/mensagem', | 40 | url: '/mensagem', |
40 | ncyBreadcrumb: {label: 'Mensagem'}, | 41 | ncyBreadcrumb: {label: 'Mensagem'}, |
@@ -129,6 +130,20 @@ | @@ -129,6 +130,20 @@ | ||
129 | 'footer': { templateUrl: 'app/pages/footer/footer.html' } | 130 | 'footer': { templateUrl: 'app/pages/footer/footer.html' } |
130 | } | 131 | } |
131 | }) | 132 | }) |
133 | + // apenas para teste do cadastro das propostas | ||
134 | + .state('cadastro-propostas', { | ||
135 | + url: '/cadastro-propostas', | ||
136 | + ncyBreadcrumb: {label: 'Cadastro de Propostas'}, | ||
137 | + views: { | ||
138 | + 'header': { templateUrl: 'app/pages/header/header.html' }, | ||
139 | + 'main': { | ||
140 | + templateUrl: 'app/pages/propostas/cadastro-proposta.html', | ||
141 | + controller: 'PropostasPageController', | ||
142 | + controllerAs: 'pagePropostas' | ||
143 | + }, | ||
144 | + 'footer': { templateUrl: 'app/pages/footer/footer.html' } | ||
145 | + } | ||
146 | + }) | ||
132 | .state('propostas-conteudo', { | 147 | .state('propostas-conteudo', { |
133 | url: '/propostas/:id', | 148 | url: '/propostas/:id', |
134 | ncyBreadcrumb: { | 149 | ncyBreadcrumb: { |
src/app/layout.scss
@@ -120,20 +120,61 @@ | @@ -120,20 +120,61 @@ | ||
120 | border-width: 1px; | 120 | border-width: 1px; |
121 | } | 121 | } |
122 | 122 | ||
123 | -.error-message { | ||
124 | - color: #ff4431 | ||
125 | -} | ||
126 | - | ||
127 | -.modal-termos-uso-header{ | ||
128 | - border-bottom: none; | 123 | +// Está com o nome do termos de uso. Deixas genérico ou apenas aqui? Ver como vão ficar esses modais |
124 | +.modal-termos-uso{ | ||
125 | + &-header{ | ||
126 | + border-bottom: none; | ||
129 | padding: 0px; | 127 | padding: 0px; |
130 | min-height: 10px; | 128 | min-height: 10px; |
131 | border-bottom: none; | 129 | border-bottom: none; |
132 | padding: 0px; | 130 | padding: 0px; |
133 | -} | 131 | + position: relative; |
132 | + top: -30px; | ||
133 | + right: 0px; | ||
134 | + } | ||
134 | 135 | ||
135 | -.modal-termos-uso-body { | ||
136 | - padding: 30px; | 136 | + &-body { |
137 | + padding: 25px 35px; | ||
137 | height: 500px; | 138 | height: 500px; |
138 | - overflow-y: auto; | 139 | + |
140 | + &-inner{ | ||
141 | + background-color: lightgray; | ||
142 | + overflow-y: auto; | ||
143 | + padding: 15px; | ||
144 | + height: 440px; | ||
145 | + } | ||
146 | + } | ||
147 | +} | ||
148 | + | ||
149 | +.modal-fechar-pequeno { | ||
150 | + font-size: 15px; | ||
151 | +} | ||
152 | + | ||
153 | +.modal-fechar-grande { | ||
154 | + font-size: 24px; | ||
155 | +} | ||
156 | + | ||
157 | +// Sobreescreve a classe do bootstrap | ||
158 | +.close { | ||
159 | + // position: absolute; | ||
160 | + color: white; | ||
161 | + opacity: 1; | ||
162 | + font-weight: normal; | ||
139 | } | 163 | } |
164 | + | ||
165 | +// Cria uma barra de rolagem parecida com a pedida, mas aplica pro site todo | ||
166 | +// ::-webkit-scrollbar { | ||
167 | +// width: 12px; | ||
168 | +// background-color: gray; | ||
169 | +// } | ||
170 | + | ||
171 | +// ::-webkit-scrollbar-track { | ||
172 | +// -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); | ||
173 | +// border-radius: 10px; | ||
174 | +// } | ||
175 | + | ||
176 | +// ::-webkit-scrollbar-thumb { | ||
177 | +// border-radius: 10px; | ||
178 | +// -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); | ||
179 | +// background-color: black; | ||
180 | +// } |
src/app/pages/auth/auth.scss
@@ -7,31 +7,33 @@ | @@ -7,31 +7,33 @@ | ||
7 | } | 7 | } |
8 | 8 | ||
9 | .btn-social { | 9 | .btn-social { |
10 | - color: #fff; | ||
11 | - font-weight: bold; | ||
12 | - padding: 15px 16px; | ||
13 | - font-size: 16px; | ||
14 | - white-space: normal; | 10 | + color: #fff; |
11 | + font-weight: bold; | ||
12 | + padding: 15px 16px; | ||
13 | + font-size: 16px; | ||
14 | + white-space: normal; | ||
15 | 15 | ||
16 | - &:hover, | ||
17 | - &:focus {color: #fff;} | 16 | + &:hover, |
17 | + &:focus {color: #fff;} | ||
18 | 18 | ||
19 | - &.btn-facebook { | ||
20 | - background-color: #496AA0; | 19 | + &.btn-facebook { |
20 | + background-color: #496AA0; | ||
21 | 21 | ||
22 | - &:hover, | ||
23 | - &:focus {background-color: #304373; } | ||
24 | - &:active {background-color: #33477a; } | ||
25 | - } | ||
26 | - &.btn-google-plus { | ||
27 | - background-color: #b92d25; | ||
28 | - &:hover, | ||
29 | - &:focus {background-color: #b12b23; } | ||
30 | - &:active {background-color: #b92d25; } | ||
31 | - } | ||
32 | - @media (max-width: 991px) { | ||
33 | - margin-bottom: 20px; | ||
34 | - } | 22 | + &:hover, |
23 | + &:focus {background-color: #304373; } | ||
24 | + &:active {background-color: #33477a; } | ||
25 | + } | ||
26 | + | ||
27 | + &.btn-google-plus { | ||
28 | + background-color: #b92d25; | ||
29 | + &:hover, | ||
30 | + &:focus {background-color: #b12b23; } | ||
31 | + &:active {background-color: #b92d25; } | ||
32 | + } | ||
33 | + | ||
34 | + @media (max-width: 991px) { | ||
35 | + margin-bottom: 20px; | ||
36 | + } | ||
35 | } | 37 | } |
36 | 38 | ||
37 | .btn { | 39 | .btn { |
@@ -39,6 +41,7 @@ | @@ -39,6 +41,7 @@ | ||
39 | color: #fff; | 41 | color: #fff; |
40 | } | 42 | } |
41 | } | 43 | } |
44 | + | ||
42 | .btn-primary { | 45 | .btn-primary { |
43 | .contraste & { | 46 | .contraste & { |
44 | background-color: #262626; | 47 | background-color: #262626; |
@@ -47,66 +50,66 @@ | @@ -47,66 +50,66 @@ | ||
47 | } | 50 | } |
48 | 51 | ||
49 | .glyphicon { | 52 | .glyphicon { |
50 | - &.icon-white { | ||
51 | - fill: white; | ||
52 | - } | 53 | + &.icon-white { |
54 | + fill: white; | ||
55 | + } | ||
53 | } | 56 | } |
54 | 57 | ||
55 | .border-social-icon { | 58 | .border-social-icon { |
56 | - border-radius: 25px; | ||
57 | - padding: 7px 9px; | ||
58 | - width: 40px; | ||
59 | - height: 40px; | ||
60 | - display: inline-block; | ||
61 | - | ||
62 | - &.border-social-facebook { | ||
63 | - background: #547BBC; | ||
64 | - } | ||
65 | - | ||
66 | - &.border-social-googlePlus { | ||
67 | - background: #D44105; | ||
68 | - } | 59 | + border-radius: 25px; |
60 | + padding: 7px 9px; | ||
61 | + width: 40px; | ||
62 | + height: 40px; | ||
63 | + display: inline-block; | ||
64 | + | ||
65 | + &.border-social-facebook { | ||
66 | + background: #547BBC; | ||
67 | + } | ||
68 | + | ||
69 | + &.border-social-googlePlus { | ||
70 | + background: #D44105; | ||
71 | + } | ||
69 | } | 72 | } |
70 | 73 | ||
71 | .separator { | 74 | .separator { |
72 | - border-top: 2px solid #d8d8d8; | ||
73 | - text-align: center; | ||
74 | - font-weight: bold; | ||
75 | - margin-top: 20px; | ||
76 | - margin-bottom: 35px; | ||
77 | - | ||
78 | - &:after { | ||
79 | - position: absolute; | ||
80 | - top: 4px; | ||
81 | - margin-left: -26px; | ||
82 | - font-size: 20px; | ||
83 | - line-height: 30px; | ||
84 | - padding: 0 0.25em; | ||
85 | - background: $gray; | 75 | + border-top: 2px solid #d8d8d8; |
76 | + text-align: center; | ||
77 | + font-weight: bold; | ||
78 | + margin-top: 20px; | ||
79 | + margin-bottom: 35px; | ||
80 | + | ||
81 | + &:after { | ||
82 | + position: absolute; | ||
83 | + top: -15px; | ||
84 | + margin-left: -26px; | ||
85 | + font-size: 20px; | ||
86 | + line-height: 30px; | ||
87 | + padding: 0 0.25em; | ||
88 | + background: $gray; | ||
86 | 89 | ||
87 | .contraste & { | 90 | .contraste & { |
88 | - background: #000; | 91 | + background: #000; |
89 | } | 92 | } |
90 | - } | 93 | + } |
91 | 94 | ||
92 | - &.separator-or:after { | ||
93 | - content: "ou"; | ||
94 | - left: 51%; | ||
95 | - } | 95 | + &.separator-or:after { |
96 | + content: "ou"; | ||
97 | + left: 50%; | ||
98 | + margin-left: -17px; | ||
96 | 99 | ||
97 | - &.separator-cadastro:after { | ||
98 | - content: "ou preencha o formulario"; | ||
99 | - left: 31%; | ||
100 | - } | 100 | + @media (min-width: 992px) { |
101 | + top: 4px; | ||
102 | + } | ||
103 | + } | ||
101 | 104 | ||
102 | - } | 105 | + &.separator-cadastro:after { |
106 | + content: "ou preencha o formulario"; | ||
107 | + left: 50%; | ||
108 | + margin-left: -133px; | ||
103 | 109 | ||
104 | - input[type="checkbox"] { | ||
105 | - display:inline-block; | ||
106 | - width:18px; | ||
107 | - height:18px; | ||
108 | - margin:-1px 4px 0 0; | ||
109 | - vertical-align:middle; | ||
110 | - cursor:pointer; | 110 | + @media (min-width: 768px) { |
111 | + top: 4px; | ||
112 | + } | ||
113 | + } | ||
111 | } | 114 | } |
112 | } | 115 | } |
@@ -0,0 +1,6 @@ | @@ -0,0 +1,6 @@ | ||
1 | +<div class="error-message"> | ||
2 | + <div ng-message="required" >Ops, o campo é obrigatório.</div> | ||
3 | + <div ng-message="minlength">O campo deve ser maior.</div> | ||
4 | + <div ng-message="maxlength">O campo deve ser menor</div> | ||
5 | + <div ng-message="email">O endereço de e-mail deve ser válido</div> | ||
6 | +</div> | ||
0 | \ No newline at end of file | 7 | \ No newline at end of file |
src/app/pages/auth/message.html
1 | +<!-- APENAS PARA TESTE DO SHOW MESSAGE E DO MODAL DE TERMOS DE USO --> | ||
1 | <section | 2 | <section |
2 | role="main" | 3 | role="main" |
3 | class="section-gray auth-content"> | 4 | class="section-gray auth-content"> |
4 | <div class="container"> | 5 | <div class="container"> |
5 | <show-message | 6 | <show-message |
6 | - type="'error'" | 7 | + type="'success'" |
7 | title="'Cadastro efetuado com sucesso :)'" | 8 | title="'Cadastro efetuado com sucesso :)'" |
8 | message="'Agora você faz parte do Dialoga Brasil. Você será redirecionado para a página (página) em 10 segundos'"></show-message> | 9 | message="'Agora você faz parte do Dialoga Brasil. Você será redirecionado para a página (página) em 10 segundos'"></show-message> |
9 | </div> | 10 | </div> |
@@ -15,56 +16,48 @@ | @@ -15,56 +16,48 @@ | ||
15 | <div class="modal-content"> | 16 | <div class="modal-content"> |
16 | <div class="modal-header modal-termos-uso-header"> | 17 | <div class="modal-header modal-termos-uso-header"> |
17 | <button type="button" class="close" data-dismiss="modal" aria-label="Close"> | 18 | <button type="button" class="close" data-dismiss="modal" aria-label="Close"> |
18 | - <span aria-hidden="true">×</span> | 19 | + <span aria-hidden="true" class="modal-fechar-pequeno">FECHAR</span> |
20 | + <span aria-hidden="true" class="modal-fechar-grande">X</span> | ||
19 | </button> | 21 | </button> |
20 | </div> | 22 | </div> |
21 | <div class="modal-body modal-termos-uso-body"> | 23 | <div class="modal-body modal-termos-uso-body"> |
24 | + <div class="modal-termos-uso-body-inner"> | ||
22 | <h3>Termos de Uso</h3> | 25 | <h3>Termos de Uso</h3> |
23 | <p> | 26 | <p> |
24 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | 27 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
25 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
26 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
27 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
28 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
29 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | 28 | + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, |
29 | + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
30 | + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
31 | + cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
32 | + proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
30 | </p> | 33 | </p> |
31 | <p> | 34 | <p> |
32 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | 35 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
33 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
34 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
35 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
36 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
37 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | 36 | + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, |
37 | + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
38 | + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
39 | + cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
40 | + proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
38 | </p> | 41 | </p> |
39 | <p> | 42 | <p> |
40 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | 43 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
41 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
42 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
43 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
44 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
45 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | 44 | + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, |
45 | + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
46 | + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
47 | + cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
48 | + proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
46 | </p> | 49 | </p> |
47 | - | ||
48 | - <p> | ||
49 | - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | ||
50 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
51 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
52 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
53 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
54 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
55 | - </p> | ||
56 | - | ||
57 | <p> | 50 | <p> |
58 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | 51 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod |
59 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
60 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
61 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
62 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
63 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | 52 | + tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, |
53 | + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
54 | + consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
55 | + cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
56 | + proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
64 | </p> | 57 | </p> |
65 | - | 58 | + </div> |
66 | </div> | 59 | </div> |
67 | </div> | 60 | </div> |
68 | </div> | 61 | </div> |
69 | </div> | 62 | </div> |
70 | -</section> | ||
71 | \ No newline at end of file | 63 | \ No newline at end of file |
64 | +</section> |
src/app/pages/auth/signin.html
@@ -24,24 +24,17 @@ | @@ -24,24 +24,17 @@ | ||
24 | <div class="col-md-12"> | 24 | <div class="col-md-12"> |
25 | <h2>Já possui cadastro</h2> | 25 | <h2>Já possui cadastro</h2> |
26 | <p>Use seus dados para acessar o Dialoga Brasil</p> | 26 | <p>Use seus dados para acessar o Dialoga Brasil</p> |
27 | - <form name="loginForm" ng-submit="pageSignin.login(pageSignin.credentials)" novalidate> | 27 | + <form role="form" name="loginForm" ng-submit="pageSignin.login(pageSignin.credentials)" novalidate> |
28 | <div class="form-group"> | 28 | <div class="form-group"> |
29 | <label for="inputLoginUsername">E-mail*</label> | 29 | <label for="inputLoginUsername">E-mail*</label> |
30 | <input type="email" id="inputLoginUsername" name="inputLoginUsername" class="form-control input-lg" ng-class="{ 'has-error' : loginForm.inputLoginUsername.$invalid && loginForm.inputLoginUsername.$touched }" ng-model="pageSignin.credentials.username" required/> | 30 | <input type="email" id="inputLoginUsername" name="inputLoginUsername" class="form-control input-lg" ng-class="{ 'has-error' : loginForm.inputLoginUsername.$invalid && loginForm.inputLoginUsername.$touched }" ng-model="pageSignin.credentials.username" required/> |
31 | - <div ng-show="loginForm.inputLoginUsername.$touched"> | ||
32 | - <div ng-messages="loginForm.inputLoginUsername.$error"> | ||
33 | - <div ng-messages-include="app/pages/geral/error-messages.html"></div> | ||
34 | - </div> | ||
35 | - </div> | 31 | + <!-- Diretiva validation-messages --> |
32 | + <validation-messages field="loginForm.inputLoginUsername"/> | ||
36 | </div> | 33 | </div> |
37 | <div class="form-group"> | 34 | <div class="form-group"> |
38 | <label for="inputLoginPassword">Senha*</label> | 35 | <label for="inputLoginPassword">Senha*</label> |
39 | <input type="password" id="inputLoginPassword" name="inputLoginPassword" class="form-control input-lg" ng-class="{ 'has-error' : loginForm.inputLoginPassword.$invalid && loginForm.inputLoginPassword.$touched }" ng-model="pageSignin.credentials.password" required> | 36 | <input type="password" id="inputLoginPassword" name="inputLoginPassword" class="form-control input-lg" ng-class="{ 'has-error' : loginForm.inputLoginPassword.$invalid && loginForm.inputLoginPassword.$touched }" ng-model="pageSignin.credentials.password" required> |
40 | - <div ng-show="loginForm.inputLoginPassword.$touched"> | ||
41 | - <div ng-messages="loginForm.inputLoginPassword.$error"> | ||
42 | - <div ng-messages-include="app/pages/geral/error-messages.html"></div> | ||
43 | - </div> | ||
44 | - </div> | 37 | + <validation-messages field="loginForm.inputLoginPassword"/> |
45 | </div> | 38 | </div> |
46 | <div class="form-group"> | 39 | <div class="form-group"> |
47 | <button class="btn btn-lg btn-block btn-submit" type="submit">Entrar</button> | 40 | <button class="btn btn-lg btn-block btn-submit" type="submit">Entrar</button> |
@@ -52,156 +45,134 @@ | @@ -52,156 +45,134 @@ | ||
52 | <div class="row"> | 45 | <div class="row"> |
53 | <div class="col-md-12"> | 46 | <div class="col-md-12"> |
54 | <hr class="separator separator-or"></hr> | 47 | <hr class="separator separator-or"></hr> |
48 | + </div> | ||
55 | </div> | 49 | </div> |
56 | - </div> | ||
57 | - <div class="row"> | ||
58 | - <div class="col-md-5"> | ||
59 | - <button type="button" class="btn btn-lg btn-block btn-social btn-facebook"> | ||
60 | - <div class="border-social-icon border-social-facebook"> | ||
61 | - <span class="glyphicon icon-google-plus icon-white" aria-hidden="true"> | ||
62 | - <!-- Facebook --> | ||
63 | - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25"> | ||
64 | - <path d="M18 32L12 32 12 16l-4 0 0-5.5 4 0 0-3.2C12 2.7 13.2 0 18.5 0l4.4 0 0 5.5 -2.8 0c-2.1 0-2.2 0.8-2.2 2.2l0 2.8 5 0 -0.6 5.5L18 16 18 32z"/> | ||
65 | - </svg> | ||
66 | - </span> | ||
67 | - </div> | ||
68 | - <span class="text">Entrar com Facebook</span> | ||
69 | - </button> | ||
70 | - </div> | ||
71 | - <div class="col-md-5"> | ||
72 | - <button type="button" class="btn btn-lg btn-block btn-social btn-google-plus"> | ||
73 | - <div class="border-social-icon border-social-googlePlus"> | ||
74 | - <span class="glyphicon icon-google-plus icon-white" aria-hidden="true"> | ||
75 | - <!-- Google Plus --> | ||
76 | - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25"> | ||
77 | - <path d="M17.5 2c0 0-6.3 0-8.4 0C5.3 2 1.8 4.8 1.8 8.1c0 3.4 2.6 6.1 6.4 6.1 0.3 0 0.5 0 0.8 0 -0.2 0.5-0.4 1-0.4 1.6 0 0.9 0.5 1.7 1.1 2.3 -0.5 0-0.9 0-1.5 0C3.6 18.1 0 21.1 0 24.1c0 3 3.9 4.9 8.6 4.9 5.3 0 8.2-3 8.2-6 0-2.4-0.7-3.9-2.9-5.4 -0.8-0.5-2.2-1.8-2.2-2.6 0-0.9 0.3-1.3 1.6-2.4 1.4-1.1 2.4-2.6 2.4-4.4 0-2.1-0.9-4.2-2.7-4.8l2.7 0L17.5 2zM14.5 22.5c0.1 0.3 0.1 0.6 0.1 0.9 0 2.4-1.6 4.4-6.1 4.4 -3.2 0-5.5-2-5.5-4.5 0-2.4 2.9-4.4 6.1-4.4 0.8 0 1.4 0.1 2.1 0.3C12.9 20.4 14.2 21.1 14.5 22.5zM9.4 13.4c-2.2-0.1-4.2-2.4-4.6-5.2 -0.4-2.8 1.1-5 3.2-4.9 2.2 0.1 4.2 2.3 4.6 5.2C13 11.2 11.6 13.4 9.4 13.4zM26 8L26 2 24 2 24 8 18 8 18 10 24 10 24 16 26 16 26 10 32 10 32 8z"/> | ||
78 | - </svg> | ||
79 | - </span> | ||
80 | - </div> | ||
81 | - <span class="text">Entrar com Google+</span> | ||
82 | - </button> | ||
83 | - </div> | ||
84 | - </div> | ||
85 | - </div> | ||
86 | - <div class="col-sm-6"> | ||
87 | - <div class="row"> | ||
88 | - <div class="col-sm-12"> | ||
89 | - <h2>Ou cadastre-se</h2> | ||
90 | - <p> | ||
91 | - Para fazer parte do Dialoga Brasil, interagir com as propostas e enviar as suas! | ||
92 | - </p> | 50 | + <div class="row"> |
51 | + <div class="col-md-5"> | ||
52 | + <button type="button" class="btn btn-lg btn-block btn-social btn-facebook"> | ||
53 | + <div class="border-social-icon border-social-facebook"> | ||
54 | + <span class="glyphicon icon-google-plus icon-white" aria-hidden="true"> | ||
55 | + <!-- Facebook --> | ||
56 | + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25"> | ||
57 | + <path d="M18 32L12 32 12 16l-4 0 0-5.5 4 0 0-3.2C12 2.7 13.2 0 18.5 0l4.4 0 0 5.5 -2.8 0c-2.1 0-2.2 0.8-2.2 2.2l0 2.8 5 0 -0.6 5.5L18 16 18 32z"/> | ||
58 | + </svg> | ||
59 | + </span> | ||
60 | + </div> | ||
61 | + <span class="text">Entrar com Facebook</span> | ||
62 | + </button> | ||
63 | + </div> | ||
64 | + <div class="col-md-5"> | ||
65 | + <button type="button" class="btn btn-lg btn-block btn-social btn-google-plus"> | ||
66 | + <div class="border-social-icon border-social-googlePlus"> | ||
67 | + <span class="glyphicon icon-google-plus icon-white" aria-hidden="true"> | ||
68 | + <!-- Google Plus --> | ||
69 | + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25"> | ||
70 | + <path d="M17.5 2c0 0-6.3 0-8.4 0C5.3 2 1.8 4.8 1.8 8.1c0 3.4 2.6 6.1 6.4 6.1 0.3 0 0.5 0 0.8 0 -0.2 0.5-0.4 1-0.4 1.6 0 0.9 0.5 1.7 1.1 2.3 -0.5 0-0.9 0-1.5 0C3.6 18.1 0 21.1 0 24.1c0 3 3.9 4.9 8.6 4.9 5.3 0 8.2-3 8.2-6 0-2.4-0.7-3.9-2.9-5.4 -0.8-0.5-2.2-1.8-2.2-2.6 0-0.9 0.3-1.3 1.6-2.4 1.4-1.1 2.4-2.6 2.4-4.4 0-2.1-0.9-4.2-2.7-4.8l2.7 0L17.5 2zM14.5 22.5c0.1 0.3 0.1 0.6 0.1 0.9 0 2.4-1.6 4.4-6.1 4.4 -3.2 0-5.5-2-5.5-4.5 0-2.4 2.9-4.4 6.1-4.4 0.8 0 1.4 0.1 2.1 0.3C12.9 20.4 14.2 21.1 14.5 22.5zM9.4 13.4c-2.2-0.1-4.2-2.4-4.6-5.2 -0.4-2.8 1.1-5 3.2-4.9 2.2 0.1 4.2 2.3 4.6 5.2C13 11.2 11.6 13.4 9.4 13.4zM26 8L26 2 24 2 24 8 18 8 18 10 24 10 24 16 26 16 26 10 32 10 32 8z"/> | ||
71 | + </svg> | ||
72 | + </span> | ||
73 | + </div> | ||
74 | + <span class="text">Entrar com Google+</span> | ||
75 | + </button> | ||
76 | + </div> | ||
93 | </div> | 77 | </div> |
94 | </div> | 78 | </div> |
95 | - <div class="row"> | ||
96 | - <div class="col-md-6"> | ||
97 | - <button type="button" class="btn btn-lg btn-block btn-social btn-facebook"> | ||
98 | - <div class="border-social-icon border-social-facebook"> | ||
99 | - <span class="glyphicon icon-google-plus icon-white" aria-hidden="true"> | ||
100 | - <!-- Google Plus --> | ||
101 | - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25"> | ||
102 | - <path d="M18 32L12 32 12 16l-4 0 0-5.5 4 0 0-3.2C12 2.7 13.2 0 18.5 0l4.4 0 0 5.5 -2.8 0c-2.1 0-2.2 0.8-2.2 2.2l0 2.8 5 0 -0.6 5.5L18 16 18 32z"/> | ||
103 | - </svg> | ||
104 | - </span> | ||
105 | - </div> | ||
106 | - <span class="text">Conectar pelo Facebook</span> | ||
107 | - </button> | ||
108 | - </div> | ||
109 | - <div class="col-md-6"> | ||
110 | - <button type="button" class="btn btn-lg btn-block btn-social btn-google-plus"> | ||
111 | - <div class="border-social-icon border-social-googlePlus"> | ||
112 | - <span class="glyphicon icon-google-plus icon-white" aria-hidden="true"> | ||
113 | - <!-- Google Plus --> | ||
114 | - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25"> | ||
115 | - <path d="M17.5 2c0 0-6.3 0-8.4 0C5.3 2 1.8 4.8 1.8 8.1c0 3.4 2.6 6.1 6.4 6.1 0.3 0 0.5 0 0.8 0 -0.2 0.5-0.4 1-0.4 1.6 0 0.9 0.5 1.7 1.1 2.3 -0.5 0-0.9 0-1.5 0C3.6 18.1 0 21.1 0 24.1c0 3 3.9 4.9 8.6 4.9 5.3 0 8.2-3 8.2-6 0-2.4-0.7-3.9-2.9-5.4 -0.8-0.5-2.2-1.8-2.2-2.6 0-0.9 0.3-1.3 1.6-2.4 1.4-1.1 2.4-2.6 2.4-4.4 0-2.1-0.9-4.2-2.7-4.8l2.7 0L17.5 2zM14.5 22.5c0.1 0.3 0.1 0.6 0.1 0.9 0 2.4-1.6 4.4-6.1 4.4 -3.2 0-5.5-2-5.5-4.5 0-2.4 2.9-4.4 6.1-4.4 0.8 0 1.4 0.1 2.1 0.3C12.9 20.4 14.2 21.1 14.5 22.5zM9.4 13.4c-2.2-0.1-4.2-2.4-4.6-5.2 -0.4-2.8 1.1-5 3.2-4.9 2.2 0.1 4.2 2.3 4.6 5.2C13 11.2 11.6 13.4 9.4 13.4zM26 8L26 2 24 2 24 8 18 8 18 10 24 10 24 16 26 16 26 10 32 10 32 8z"/> | ||
116 | - </svg> | ||
117 | - </span> | ||
118 | - </div> | ||
119 | - <span class="text">Conectar pelo Google+</span> | ||
120 | - </button> | 79 | + <div class="col-sm-6"> |
80 | + <div class="row"> | ||
81 | + <div class="col-sm-12"> | ||
82 | + <h2>Ou cadastre-se</h2> | ||
83 | + <p> | ||
84 | + Para fazer parte do Dialoga Brasil, interagir com as propostas e enviar as suas! | ||
85 | + </p> | ||
86 | + </div> | ||
121 | </div> | 87 | </div> |
122 | - </div> | ||
123 | - <div class="row"> | ||
124 | - <div class="col-sm-12"> | ||
125 | - <hr class="separator separator-cadastro"></hr> | ||
126 | - </div> | ||
127 | - </div> | ||
128 | - <div class="row"> | ||
129 | - <div class="col-sm-12"> | ||
130 | - <form name="cadastroForm"> | ||
131 | - <div class="form-group"> | ||
132 | - <label for="inputNome">Nome:</label> | ||
133 | - <span class="pull-right">*Dados obrigatórios</span> | ||
134 | - <input type="text" id="inputNome" name="inputNome" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputNome.$invalid && cadastroForm.inputNome.$touched }" ng-model="nome" ng-minlength="" ng-maxlength="" required> | ||
135 | - <div ng-show="cadastroForm.inputNome.$touched"> | ||
136 | - <div ng-messages="cadastroForm.inputNome.$error"> | ||
137 | - <div ng-messages-include="app/pages/geral/error-messages.html"></div> | 88 | + <div class="row"> |
89 | + <div class="col-md-6"> | ||
90 | + <button type="button" class="btn btn-lg btn-block btn-social btn-facebook"> | ||
91 | + <div class="border-social-icon border-social-facebook"> | ||
92 | + <span class="glyphicon icon-google-plus icon-white" aria-hidden="true"> | ||
93 | + <!-- Google Plus --> | ||
94 | + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25"> | ||
95 | + <path d="M18 32L12 32 12 16l-4 0 0-5.5 4 0 0-3.2C12 2.7 13.2 0 18.5 0l4.4 0 0 5.5 -2.8 0c-2.1 0-2.2 0.8-2.2 2.2l0 2.8 5 0 -0.6 5.5L18 16 18 32z"/> | ||
96 | + </svg> | ||
97 | + </span> | ||
138 | </div> | 98 | </div> |
139 | - </div> | 99 | + <span class="text">Conectar pelo Facebook</span> |
100 | + </button> | ||
140 | </div> | 101 | </div> |
141 | - <div class="form-group"> | ||
142 | - <label for="inputEmail">E-mail*</label> | ||
143 | - <input type="email" id="inputEmail" name="inputEmail" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputEmail.$invalid && cadastroForm.inputEmail.$touched }" ng-model="email" ng-minlength="" ng-maxlength="" required> | ||
144 | - <div ng-show="cadastroForm.inputEmail.$touched"> | ||
145 | - <div ng-messages="cadastroForm.inputEmail.$error"> | ||
146 | - <div ng-messages-include="app/pages/geral/error-messages.html"></div> | 102 | + <div class="col-md-6"> |
103 | + <button type="button" class="btn btn-lg btn-block btn-social btn-google-plus"> | ||
104 | + <div class="border-social-icon border-social-googlePlus"> | ||
105 | + <span class="glyphicon icon-google-plus icon-white" aria-hidden="true"> | ||
106 | + <!-- Google Plus --> | ||
107 | + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25"> | ||
108 | + <path d="M17.5 2c0 0-6.3 0-8.4 0C5.3 2 1.8 4.8 1.8 8.1c0 3.4 2.6 6.1 6.4 6.1 0.3 0 0.5 0 0.8 0 -0.2 0.5-0.4 1-0.4 1.6 0 0.9 0.5 1.7 1.1 2.3 -0.5 0-0.9 0-1.5 0C3.6 18.1 0 21.1 0 24.1c0 3 3.9 4.9 8.6 4.9 5.3 0 8.2-3 8.2-6 0-2.4-0.7-3.9-2.9-5.4 -0.8-0.5-2.2-1.8-2.2-2.6 0-0.9 0.3-1.3 1.6-2.4 1.4-1.1 2.4-2.6 2.4-4.4 0-2.1-0.9-4.2-2.7-4.8l2.7 0L17.5 2zM14.5 22.5c0.1 0.3 0.1 0.6 0.1 0.9 0 2.4-1.6 4.4-6.1 4.4 -3.2 0-5.5-2-5.5-4.5 0-2.4 2.9-4.4 6.1-4.4 0.8 0 1.4 0.1 2.1 0.3C12.9 20.4 14.2 21.1 14.5 22.5zM9.4 13.4c-2.2-0.1-4.2-2.4-4.6-5.2 -0.4-2.8 1.1-5 3.2-4.9 2.2 0.1 4.2 2.3 4.6 5.2C13 11.2 11.6 13.4 9.4 13.4zM26 8L26 2 24 2 24 8 18 8 18 10 24 10 24 16 26 16 26 10 32 10 32 8z"/> | ||
109 | + </svg> | ||
110 | + </span> | ||
147 | </div> | 111 | </div> |
148 | - </div> | 112 | + <span class="text">Conectar pelo Google+</span> |
113 | + </button> | ||
114 | + </div> | ||
115 | + </div> | ||
116 | + <div class="row"> | ||
117 | + <div class="col-sm-12"> | ||
118 | + <hr class="separator separator-cadastro"></hr> | ||
149 | </div> | 119 | </div> |
150 | <div class="row"> | 120 | <div class="row"> |
151 | - <div class="col-sm-6"> | ||
152 | - <div class="form-group"> | ||
153 | - <label for="inputPassword">Senha:</label> | ||
154 | - <input type="password" id="inputPassword" name="inputPassword" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputPassword.$invalid && cadastroForm.inputPassword.$touched }" ng-model="senha" ng-minlength="" ng-maxlength="" required> | ||
155 | - <div ng-show="cadastroForm.inputPassword.$touched"> | ||
156 | - <div ng-messages="cadastroForm.inputPassword.$error"> | ||
157 | - <div ng-messages-include="app/pages/geral/error-messages.html"></div> | 121 | + <div class="col-sm-12"> |
122 | + <form name="cadastroForm"> | ||
123 | + <div class="form-group"> | ||
124 | + <label for="inputNome">Nome:</label> | ||
125 | + <span class="pull-right">*Dados obrigatórios</span> | ||
126 | + <input type="text" id="inputNome" name="inputNome" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputNome.$invalid && cadastroForm.inputNome.$touched }" ng-model="nome" ng-minlength="" ng-maxlength="" required> | ||
127 | + <validation-messages field="cadastroForm.inputNome"/> | ||
128 | + </div> | ||
129 | + <div class="form-group"> | ||
130 | + <label for="inputEmail">E-mail*</label> | ||
131 | + <input type="email" id="inputEmail" name="inputEmail" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputEmail.$invalid && cadastroForm.inputEmail.$touched }" ng-model="email" ng-minlength="" ng-maxlength="" required> | ||
132 | + <validation-messages field="cadastroForm.inputEmail"/> | ||
133 | + </div> | ||
134 | + <div class="row"> | ||
135 | + <div class="col-sm-6"> | ||
136 | + <div class="form-group"> | ||
137 | + <label for="inputPassword">Senha:</label> | ||
138 | + <input type="password" id="inputPassword" name="inputPassword" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputPassword.$invalid && cadastroForm.inputPassword.$touched }" ng-model="senha" ng-minlength="" ng-maxlength="" required> | ||
139 | + <validation-messages field="cadastroForm.inputPassword"/> | ||
140 | + </div> | ||
141 | + </div> | ||
142 | + <div class="col-sm-6"> | ||
143 | + <div class="form-group"> | ||
144 | + <label for="inputRepeatPassword">Confirmar Senha:</label> | ||
145 | + <input type="password" id="inputRepeatPassword" name="inputRepeatPassword" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputRepeatPassword.$invalid && cadastroForm.inputRepeatPassword.$touched }" ng-model="senhaRepetida" ng-minlength="" ng-maxlength="" required> | ||
146 | + <validation-messages field="cadastroForm.inputRepeatPassword"/> | ||
147 | + </div> | ||
158 | </div> | 148 | </div> |
159 | </div> | 149 | </div> |
160 | - </div> | ||
161 | - </div> | ||
162 | - <div class="col-sm-6"> | ||
163 | - <div class="form-group"> | ||
164 | - <label for="inputRepeatPassword">Confirmar Senha:</label> | ||
165 | - <input type="password" id="inputRepeatPassword" name="inputRepeatPassword" class="form-control input-lg" ng-class="{ 'has-error' : cadastroForm.inputRepeatPassword.$invalid && cadastroForm.inputRepeatPassword.$touched }" ng-model="senhaRepetida" ng-minlength="" ng-maxlength="" required> | ||
166 | - <div ng-show="cadastroForm.inputRepeatPassword.$touched"> | ||
167 | - <div ng-messages="cadastroForm.inputRepeatPassword.$error"> | ||
168 | - <div ng-messages-include="app/pages/geral/error-messages.html"></div> | 150 | + <div class="row"> |
151 | + <div class="col-sm-12"> | ||
152 | + <span class="text"> | ||
153 | + A senha deve ter 6 ou mais caracteres e conter números e letras. | ||
154 | + </span> | ||
169 | </div> | 155 | </div> |
170 | </div> | 156 | </div> |
157 | + <div class="form-group"> | ||
158 | + <input type="checkbox" id="termosDeUso" name="termosDeUso" value="aceito" ng-model="termosDeUso" required> | ||
159 | + Já li os | ||
160 | + <a href="">Termos de Uso</a> | ||
161 | + e concordo com os mesmos* | ||
162 | + </input> | ||
163 | + <validation-messages field="cadastroForm.termosDeUso"/> | ||
171 | </div> | 164 | </div> |
172 | - </div> | ||
173 | - </div> | ||
174 | - <div class="row"> | ||
175 | - <div class="col-sm-12"> | ||
176 | - <span class="text"> | ||
177 | - A senha deve ter 6 ou mais caracteres e conter números e letras. | ||
178 | - </span> | ||
179 | - </div> | ||
180 | - </div> | ||
181 | - <div class="form-group"> | ||
182 | - <input type="checkbox" id="termosDeUso" name="termosDeUso" value="aceito" required> | ||
183 | - Já li os | ||
184 | - <a href="">Termos de Uso</a> | ||
185 | - e concordo com os mesmos* | ||
186 | - </input> | ||
187 | - <div ng-show="cadastroForm.termosDeUso.$touched"> | ||
188 | - <div ng-messages="cadastroForm.termosDeUso.$error"> | ||
189 | - <div ng-messages-include="app/pages/geral/error-messages.html"></div> | ||
190 | - </div> | 165 | + <div class="form-group"> |
166 | + <span>Digite o texto da imagem</span> | ||
167 | + <p>O Captcha vai aqui</p> | ||
168 | + </div> | ||
169 | + <div class="form-group"> | ||
170 | + <button class="btn btn-lg btn-block btn-submit " ng-class=" {'disabled' : !termosDeUso }"type="submit">Cadastrar</button> | ||
171 | + </div> | ||
172 | + </form> | ||
191 | </div> | 173 | </div> |
192 | </div> | 174 | </div> |
193 | - <div class="form-group"> | ||
194 | - <span>Digite o texto da imagem</span> | ||
195 | - <p>O Captcha vai aqui</p> | ||
196 | - </div> | ||
197 | - <div class="form-group"> | ||
198 | - <button class="btn btn-lg btn-block btn-submit" type="submit">Cadastrar</button> | ||
199 | - </div> | ||
200 | - </form> | 175 | + </div> |
201 | </div> | 176 | </div> |
202 | </div> | 177 | </div> |
203 | - </div> | ||
204 | -</div> | ||
205 | -</div> | ||
206 | -</div> | ||
207 | -</section> | ||
208 | \ No newline at end of file | 178 | \ No newline at end of file |
179 | + </section> |
src/app/pages/geral/termosDeUso.html
@@ -1,92 +0,0 @@ | @@ -1,92 +0,0 @@ | ||
1 | -<div class="modal fade modalTermosDeUso" id="termosDeUso" tabindex="-1" role="dialog" aria-labelledby="termosDeUsoLabel"> | ||
2 | - <div class="modal-dialog" role="document"> | ||
3 | - <div class="modal-content"> | ||
4 | - <div class="modal-header"> | ||
5 | - <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> | ||
6 | - <h4 class="modal-title" id="termosDeUsoLabel">Termos de Uso</h4> | ||
7 | - </div> | ||
8 | - <div class="modal-body"> | ||
9 | - <p> | ||
10 | - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | ||
11 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
12 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
13 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
14 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
15 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
16 | - </p> | ||
17 | - | ||
18 | - <p> | ||
19 | - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | ||
20 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
21 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
22 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
23 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
24 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
25 | - </p> | ||
26 | - | ||
27 | - <p> | ||
28 | - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | ||
29 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
30 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
31 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
32 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
33 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
34 | - </p> | ||
35 | - | ||
36 | - <p> | ||
37 | - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | ||
38 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
39 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
40 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
41 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
42 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
43 | - </p> | ||
44 | - | ||
45 | - <p> | ||
46 | - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | ||
47 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
48 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
49 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
50 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
51 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
52 | - </p> | ||
53 | - | ||
54 | - <p> | ||
55 | - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | ||
56 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
57 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
58 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
59 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
60 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
61 | - </p> | ||
62 | - | ||
63 | - <p> | ||
64 | - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | ||
65 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
66 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
67 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
68 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
69 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
70 | - </p> | ||
71 | - | ||
72 | - <p> | ||
73 | - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | ||
74 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
75 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
76 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
77 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
78 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
79 | - </p> | ||
80 | - | ||
81 | - <p> | ||
82 | - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod | ||
83 | - tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | ||
84 | - quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo | ||
85 | - consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse | ||
86 | - cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non | ||
87 | - proident, sunt in culpa qui officia deserunt mollit anim id est laborum. | ||
88 | - </p> | ||
89 | - </div> | ||
90 | - </div> | ||
91 | - </div> | ||
92 | - </div> | ||
93 | \ No newline at end of file | 0 | \ No newline at end of file |
@@ -0,0 +1,13 @@ | @@ -0,0 +1,13 @@ | ||
1 | +<!-- APENAS PARA TESTE DO ENVIAR PROPOSTA --> | ||
2 | +<div class="container"> | ||
3 | + <div class="row"> | ||
4 | + <div class="col-sm-12"> | ||
5 | + </div> | ||
6 | + </div> | ||
7 | +</div> | ||
8 | + | ||
9 | +<section class="section-gray auth-content ng-scope"> | ||
10 | + <div class="container"> | ||
11 | + <cadastro-proposta></cadastro-proposta> | ||
12 | + </div> | ||
13 | +</section> |
src/app/pages/propostas/propostas.controller.js
src/assets/images/icons/sprite.png
107 KB