Commit 8d1ca22899405581f17e5e2a2bcdda3545e72e13

Authored by Rafael Diego
1 parent 95923e83

default

src/app/components/cadastro-proposta/cadastro-proposta.directive.js
@@ -9,22 +9,19 @@ @@ -9,22 +9,19 @@
9 function cadastroProposta() { 9 function cadastroProposta() {
10 10
11 /** @ngInject */ 11 /** @ngInject */
12 - function CadastroPropostaController(ArticleService, $scope, $element, $timeout, $log) { 12 + function CadastroPropostaController ($scope, $element, $timeout, $log) {
13 $log.debug('cadastroPropostaController'); 13 $log.debug('cadastroPropostaController');
14 14
15 var vm = this; 15 var vm = this;
16 - vm.ArticleService = ArticleService;  
17 vm.$scope = $scope; 16 vm.$scope = $scope;
18 vm.$element = $element; 17 vm.$element = $element;
19 vm.$timeout = $timeout; 18 vm.$timeout = $timeout;
20 vm.$log = $log; 19 vm.$log = $log;
21 20
22 vm.init(); 21 vm.init();
23 -  
24 - vm.loadData();  
25 } 22 }
26 23
27 - CadastroPropostaController.prototype.loadData = function () { 24 + CadastroPropostaController.prototype.init = function () {
28 // async values 25 // async values
29 var vm = this; 26 var vm = this;
30 27
@@ -37,10 +34,10 @@ @@ -37,10 +34,10 @@
37 function attachPopover(){ 34 function attachPopover(){
38 var vm = this; 35 var vm = this;
39 36
40 - vm.popover = angular.element(vm.$element.find('.texto-proposta')); 37 + vm.popover = angular.element(vm.$element.find('.link-popover'));
41 vm.popover.popover({ 38 vm.popover.popover({
42 html: true, 39 html: true,
43 - placement: 'right', 40 + placement: 'bottom',
44 animation: true, 41 animation: true,
45 title: 'Regra de posição das propostas', 42 title: 'Regra de posição das propostas',
46 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ê.' 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ê.'
@@ -50,10 +47,7 @@ @@ -50,10 +47,7 @@
50 var directive = { 47 var directive = {
51 restrict: 'E', 48 restrict: 'E',
52 templateUrl: 'app/components/cadastro-proposta/cadastro-proposta.html', 49 templateUrl: 'app/components/cadastro-proposta/cadastro-proposta.html',
53 - scope: {  
54 - programa: '=',  
55 - proposta: '=',  
56 - }, 50 + scope: {},
57 controller: CadastroPropostaController, 51 controller: CadastroPropostaController,
58 controllerAs: 'vm', 52 controllerAs: 'vm',
59 bindToController: true 53 bindToController: true
src/app/components/cadastro-proposta/cadastro-proposta.html
1 <div id="message" class="envio-proposta"> 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">{{ ::vm.programa }}</span>  
15 - </div>  
16 - </div>  
17 - </div>  
18 - <form role="form" name="envioProposta" ng-submit="" novalidate>  
19 - <div class="row linha-proposta">  
20 - <div class="col-sm-8">  
21 - <div class="form-group">  
22 - <p>Descrição da proposta*</p>  
23 - <!-- <label for="proposta">Descrição da proposta*</label> -->  
24 - <textarea id="proposta" name="proposta" form="envioProposta" class="texto-proposta form-control" ng-class="{ 'has-error' : envioProposta.proposta.$invalid && envioProposta.proposta.$touched }" ng-model="vm.proposta" required ng-maxlength="200" ></textarea>  
25 - <div ng-show="envioProposta.proposta.$touched">  
26 - <div ng-messages="envioProposta.proposta.$error">  
27 - <div ng-messages-include="./app/pages/geral/error-messages.html"></div>  
28 - </div>  
29 - </div>  
30 - <span class="pull-left">*Dados obrigatórios</span>  
31 - <span class="pull-right">Máx. 200 caracteres</span>  
32 - </div>  
33 - </div>  
34 - </div>  
35 - <div class="row linha-proposta">  
36 - <div class="col-sm-3">  
37 - <div class="form-group">  
38 - <button class="btn btn-lg btn-block btn-submit" type="submit">Enviar Proposta</button>  
39 - </div>  
40 - </div>  
41 - </div>  
42 - </div>  
43 -</form>  
44 -  
45 -</div>  
46 \ No newline at end of file 2 \ No newline at end of file
  3 + <div class="row linha-proposta">
  4 + <div class="col-sm-8">
  5 + <span class="titulo-envio-proposta">Faça sua proposta</span>
  6 + <p>
  7 + Aqui você cadastra sua proposta e ajuda a construir um Brasil melhor.
  8 + </p>
  9 + </div>
  10 + </div>
  11 + <div class="row linha-proposta">
  12 + <div class="col-sm-8">
  13 + <p>Você está fazendo uma proposta para o programa:</p>
  14 + <div class="bloco-programa">
  15 + <span class="texto-programa">Nome do progama</span>
  16 + </div>
  17 + </div>
  18 + </div>
  19 + <form role="form" name="testeForm" ng-submit="pageSignin.login(pageSignin.credentials)" novalidate>
  20 + <div class="form-group">
  21 + <div class="row linha-proposta">
  22 + <div class="col-sm-8">
  23 + <span>Descrição da proposta*</span>
  24 + <a tabindex="0" class="btn btn-link link-popover" role="button" data-toggle="popover" data-trigger="focus">?</a>
  25 + <textarea id="proposta" name="proposta" class="texto-proposta form-control"
  26 + ng-class="{ 'has-error' : testeForm.proposta.$invalid && testeForm.proposta.$touched }"
  27 + ng-model="proposta"
  28 + required ng-maxlength="200" ></textarea>
  29 + <form-messages field="testeForm.proposta" maxlength="'Ops, esse campo não pode ser maior que 200 caracteres.'"/>
  30 + <span class="pull-left">*Dados obrigatórios</span>
  31 + <span class="pull-right">Máx. 200 caracteres</span>
  32 + </div>
  33 + </div>
  34 + </div>
  35 + <div class="form-group">
  36 + <div class="col-sm-4">
  37 + <button class="btn btn-lg btn-block btn-submit" type="submit">Enviar Proposta</button>
  38 + </div>
  39 + </div>
  40 + </form>
  41 +</div>
src/app/components/cadastro-proposta/cadastro-proposta.scss
@@ -24,4 +24,28 @@ @@ -24,4 +24,28 @@
24 height: 200px; 24 height: 200px;
25 resize: none; 25 resize: none;
26 } 26 }
  27 +
  28 + .popover .fade .right .in {
  29 + top: 0px!important;
  30 + }
  31 +
  32 + .popover-content {
  33 + width: 300px;
  34 + }
  35 +
  36 + .popover-title {
  37 + display: none;
  38 + }
  39 +
  40 + .btn-question {
  41 + color: #484848;
  42 + background-color: #fff;
  43 + display: inline-block;
  44 + text-align: center;
  45 + width: 22px;
  46 + height: 22px;
  47 + margin-left: 10px;
  48 + padding: 0;
  49 + border-radius: 10px;
  50 + }
27 } 51 }
src/app/components/form-messages/form-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('formMessages', formMessages);
  7 +
  8 + /** @ngInject */
  9 + function formMessages() {
  10 +
  11 + /** @ngInject */
  12 + function FormMessagesController($log) {
  13 + $log.debug('FormMessagesController');
  14 +
  15 + var vm = this;
  16 + vm.$log = $log;
  17 +
  18 + vm.init();
  19 +
  20 + }
  21 +
  22 + FormMessagesController.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/form-messages/form-messages.html',
  36 + scope: {
  37 + field: '=',
  38 + required: '=',
  39 + minlength: '=',
  40 + maxlength: '=',
  41 + email: '='
  42 + },
  43 + controller: FormMessagesController,
  44 + controllerAs: 'vm',
  45 + bindToController: true
  46 + };
  47 +
  48 + return directive;
  49 + }
  50 +
  51 +})();
  52 +
src/app/components/form-messages/form-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/form-messages/form-messages.scss 0 → 100644
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 -<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 1 \ No newline at end of file
  2 +<div id="message" class="show-message">
  3 + <div class="row">
  4 + <div class="div-center">
  5 + <div class="col-sm-2 col-sm-offset-2 message-border {{ ::vm.type }}">
  6 + <span class="glyphicon glyphicon-ok icon-white" aria-hidden="true"></span>
  7 + </div>
  8 + </div>
  9 + <div class="col-sm-7 div-mensagem">
  10 + <div class="row">
  11 + <h3>{{ ::vm.title }}</h3>
  12 + </div>
  13 + <div class="row">
  14 + <h5>{{ ::vm.message }}</h5>
  15 + </div>
  16 + </div>
  17 + </div>
  18 +</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/index.route.js
@@ -138,7 +138,7 @@ @@ -138,7 +138,7 @@
138 'header': { templateUrl: 'app/pages/header/header.html' }, 138 'header': { templateUrl: 'app/pages/header/header.html' },
139 'main': { 139 'main': {
140 templateUrl: 'app/pages/propostas/cadastro-proposta.html', 140 templateUrl: 'app/pages/propostas/cadastro-proposta.html',
141 - controller: 'CadastroPropostaController', 141 + controller: 'PropostasPageController',
142 controllerAs: 'pagePropostas' 142 controllerAs: 'pagePropostas'
143 }, 143 },
144 'footer': { templateUrl: 'app/pages/footer/footer.html' } 144 'footer': { templateUrl: 'app/pages/footer/footer.html' }
src/app/pages/auth/error-messages.html 0 → 100644
@@ -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
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 class="section-gray auth-content"> 3 class="section-gray auth-content">
4 <div class="container"> 4 <div class="container">
5 <show-message 5 <show-message
6 - type="'error'" 6 + type="'success'"
7 title="'Cadastro efetuado com sucesso :)'" 7 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> 8 message="'Agora você faz parte do Dialoga Brasil. Você será redirecionado para a página (página) em 10 segundos'"></show-message>
9 </div> 9 </div>
@@ -59,4 +59,4 @@ @@ -59,4 +59,4 @@
59 </div> 59 </div>
60 </div> 60 </div>
61 </div> 61 </div>
62 -</section>  
63 \ No newline at end of file 62 \ No newline at end of file
  63 +</section>
src/app/pages/auth/signin.html
1 <div class="container"> 1 <div class="container">
2 - <div class="row">  
3 - <div class="col-sm-12">  
4 - <h2>Cadastrar ou entrar</h2>  
5 - </div>  
6 - </div> 2 + <div class="row">
  3 + <div class="col-sm-12">
  4 + <h2>Cadastrar ou entrar</h2>
  5 + </div>
  6 + </div>
7 </div> 7 </div>
8 <section role="main" class="section-gray auth-content"> 8 <section role="main" class="section-gray auth-content">
9 - <div class="container">  
10 - <div class="row">  
11 - <!-- Mostra só se estiver logado -->  
12 - <div ng-if="pageSignin.currentUser">  
13 - <div class="row">  
14 - <div class="col-sm-8 col-sm-offset-2">  
15 - <h3>Você está logado!</h3>  
16 - <button type="button" ng-click="pageSignin.onClickLogout()" class="btn btn-primary">Sair</button>  
17 - </div>  
18 - </div>  
19 - </div>  
20 - <!-- Mostra só se não estiver logado -->  
21 - <div ng-if="!pageSignin.currentUser">  
22 - <div class="col-sm-6">  
23 - <div class="row">  
24 - <div class="col-md-12">  
25 - <h2>Já possui cadastro</h2>  
26 - <p>Use seus dados para acessar o Dialoga Brasil</p>  
27 - <form role="form" name="loginForm" ng-submit="pageSignin.login(pageSignin.credentials)" novalidate>  
28 - <div class="form-group">  
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/>  
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>  
36 - </div>  
37 - <div class="form-group">  
38 - <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>  
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>  
45 - </div>  
46 - <div class="form-group">  
47 - <button class="btn btn-lg btn-block btn-submit" type="submit">Entrar</button>  
48 - </div>  
49 - </form>  
50 - </div>  
51 - </div>  
52 - <div class="row">  
53 - <div class="col-md-12">  
54 - <hr class="separator separator-or"></hr>  
55 -  
56 - </div>  
57 - </div>  
58 - <div class="row">  
59 - <div class="col-md-5">  
60 - <button type="button" class="btn btn-lg btn-block btn-social btn-facebook">  
61 - <div class="border-social-icon border-social-facebook">  
62 - <span class="glyphicon icon-google-plus icon-white" aria-hidden="true">  
63 - <!-- Facebook -->  
64 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25">  
65 - <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"/>  
66 - </svg>  
67 - </span>  
68 - </div>  
69 - <span class="text">Entrar com Facebook</span>  
70 - </button>  
71 - </div>  
72 - <div class="col-md-5">  
73 - <button type="button" class="btn btn-lg btn-block btn-social btn-google-plus">  
74 - <div class="border-social-icon border-social-googlePlus">  
75 - <span class="glyphicon icon-google-plus icon-white" aria-hidden="true">  
76 - <!-- Google Plus -->  
77 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25">  
78 - <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"/>  
79 - </svg>  
80 - </span>  
81 - </div>  
82 - <span class="text">Entrar com Google+</span>  
83 - </button>  
84 - </div>  
85 - </div>  
86 - </div>  
87 - <div class="col-sm-6">  
88 - <div class="row">  
89 - <div class="col-sm-12">  
90 - <h2>Ou cadastre-se</h2>  
91 - <p>  
92 - Para fazer parte do Dialoga Brasil, interagir com as propostas e enviar as suas!  
93 - </p>  
94 - </div>  
95 - </div>  
96 - <div class="row">  
97 - <div class="col-md-6">  
98 - <button type="button" class="btn btn-lg btn-block btn-social btn-facebook">  
99 - <div class="border-social-icon border-social-facebook">  
100 - <span class="glyphicon icon-google-plus icon-white" aria-hidden="true">  
101 - <!-- Google Plus -->  
102 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25">  
103 - <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"/>  
104 - </svg>  
105 - </span>  
106 - </div>  
107 - <span class="text">Conectar pelo Facebook</span>  
108 - </button>  
109 - </div>  
110 - <div class="col-md-6">  
111 - <button type="button" class="btn btn-lg btn-block btn-social btn-google-plus">  
112 - <div class="border-social-icon border-social-googlePlus">  
113 - <span class="glyphicon icon-google-plus icon-white" aria-hidden="true">  
114 - <!-- Google Plus -->  
115 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 33" width="25" height="25">  
116 - <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"/>  
117 - </svg>  
118 - </span>  
119 - </div>  
120 - <span class="text">Conectar pelo Google+</span>  
121 - </button>  
122 - </div>  
123 - </div>  
124 - <div class="row">  
125 - <div class="col-sm-12">  
126 - <hr class="separator separator-cadastro"></hr>  
127 - </div>  
128 - </div>  
129 - <div class="row">  
130 - <div class="col-sm-12">  
131 - <form name="cadastroForm">  
132 - <div class="form-group">  
133 - <label for="inputNome">Nome:</label>  
134 - <span class="pull-right">*Dados obrigatórios</span>  
135 - <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>  
136 - <div ng-show="cadastroForm.inputNome.$touched">  
137 - <div ng-messages="cadastroForm.inputNome.$error">  
138 - <div ng-messages-include="app/pages/geral/error-messages.html"></div>  
139 - </div>  
140 - </div>  
141 - </div>  
142 - <div class="form-group">  
143 - <label for="inputEmail">E-mail*</label>  
144 - <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>  
145 - <div ng-show="cadastroForm.inputEmail.$touched">  
146 - <div ng-messages="cadastroForm.inputEmail.$error">  
147 - <div ng-messages-include="app/pages/geral/error-messages.html"></div>  
148 - </div>  
149 - </div>  
150 - </div>  
151 - <div class="row">  
152 - <div class="col-sm-6">  
153 - <div class="form-group">  
154 - <label for="inputPassword">Senha:</label>  
155 - <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>  
156 - <div ng-show="cadastroForm.inputPassword.$touched">  
157 - <div ng-messages="cadastroForm.inputPassword.$error">  
158 - <div ng-messages-include="app/pages/geral/error-messages.html"></div>  
159 - </div>  
160 - </div>  
161 - </div>  
162 - </div>  
163 - <div class="col-sm-6">  
164 - <div class="form-group">  
165 - <label for="inputRepeatPassword">Confirmar Senha:</label>  
166 - <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>  
167 - <div ng-show="cadastroForm.inputRepeatPassword.$touched">  
168 - <div ng-messages="cadastroForm.inputRepeatPassword.$error">  
169 - <div ng-messages-include="app/pages/geral/error-messages.html"></div>  
170 - </div>  
171 - </div>  
172 - </div>  
173 - </div>  
174 - </div>  
175 - <div class="row">  
176 - <div class="col-sm-12">  
177 - <span class="text">  
178 - A senha deve ter 6 ou mais caracteres e conter números e letras.  
179 - </span>  
180 - </div>  
181 - </div>  
182 - <div class="form-group">  
183 - <input type="checkbox" id="termosDeUso" name="termosDeUso" value="aceito" required>  
184 - Já li os  
185 - <a href="">Termos de Uso</a>  
186 - e concordo com os mesmos*  
187 - </input>  
188 - <div ng-show="cadastroForm.termosDeUso.$touched">  
189 - <div ng-messages="cadastroForm.termosDeUso.$error">  
190 - <div ng-messages-include="app/pages/geral/error-messages.html"></div>  
191 - </div>  
192 - </div>  
193 - </div>  
194 - <div class="form-group">  
195 - <span>Digite o texto da imagem</span>  
196 - <p>O Captcha vai aqui</p>  
197 - </div>  
198 - <div class="form-group">  
199 - <button class="btn btn-lg btn-block btn-submit" type="submit">Cadastrar</button>  
200 - </div>  
201 - </form>  
202 - </div>  
203 - </div>  
204 - </div>  
205 -</div>  
206 -</div>  
207 -</div>  
208 -</section>  
209 \ No newline at end of file 9 \ No newline at end of file
  10 + <div class="container">
  11 + <div class="row">
  12 + <!-- Mostra só se estiver logado -->
  13 + <div ng-if="pageSignin.currentUser">
  14 + <div class="row">
  15 + <div class="col-sm-8 col-sm-offset-2">
  16 + <h3>Você está logado!</h3>
  17 + <button type="button" ng-click="pageSignin.onClickLogout()" class="btn btn-primary">Sair</button>
  18 + </div>
  19 + </div>
  20 + </div>
  21 + <!-- Mostra só se não estiver logado -->
  22 + <div ng-if="!pageSignin.currentUser">
  23 + <div class="col-sm-6">
  24 + <div class="row">
  25 + <div class="col-md-12">
  26 + <h2>Já possui cadastro</h2>
  27 + <p>Use seus dados para acessar o Dialoga Brasil</p>
  28 + <form role="form" name="loginForm" ng-submit="pageSignin.login(pageSignin.credentials)" novalidate>
  29 + <div class="form-group">
  30 + <label for="inputLoginUsername">E-mail*</label>
  31 + <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/>
  32 + <form-messages field="loginForm.inputLoginUsername"></show-message>
  33 + </div>
  34 + <div class="form-group">
  35 + <label for="inputLoginPassword">Senha*</label>
  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>
  37 + <form-messages field="loginForm.inputLoginPassword" ></show-message>
  38 + </div>
  39 + <div class="form-group">
  40 + <button class="btn btn-lg btn-block btn-submit" type="submit">Entrar</button>
  41 + </div>
  42 + </form>
  43 + </div>
  44 + </div>
  45 + <div class="row">
  46 + <div class="col-md-12">
  47 + <hr class="separator separator-or"></hr>
  48 + </div>
  49 + </div>
  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>
  77 + </div>
  78 + </div>
  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>
  87 + </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>
  98 + </div>
  99 + <span class="text">Conectar pelo Facebook</span>
  100 + </button>
  101 + </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>
  111 + </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>
  119 + </div>
  120 + <div class="row">
  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 + <form-messages field="cadastroForm.inputNome" ></show-message>
  128 + </div>
  129 + <div class="form-group">
  130 + <p>Descrição da proposta*</p>
  131 + <textarea id="proposta" name="proposta" class="texto-proposta form-control" ng-class="{ 'has-error' : cadastroForm.proposta.$invalid && cadastroForm.proposta.$touched }" ng-model="vm.proposta" required ng-maxlength="200" ></textarea>
  132 + <div ng-show="cadastroForm.proposta.$touched">
  133 + <div ng-messages="cadastroForm.proposta.$error">
  134 + <form-messages field="cadastroForm.proposta" ></show-message>
  135 + </div>
  136 + </div>
  137 + <span class="pull-left">*Dados obrigatórios</span>
  138 + <span class="pull-right">Máx. 200 caracteres</span>
  139 + </div>
  140 + <div class="form-group">
  141 + <label for="inputEmail">E-mail*</label>
  142 + <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>
  143 + <form-messages field="cadastroForm.inputEmail" ></show-message>
  144 + </div>
  145 + <div class="row">
  146 + <div class="col-sm-6">
  147 + <div class="form-group">
  148 + <label for="inputPassword">Senha:</label>
  149 + <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>
  150 + <form-messages field="cadastroForm.inputPassword" ></show-message>
  151 + </div>
  152 + </div>
  153 + <div class="col-sm-6">
  154 + <div class="form-group">
  155 + <label for="inputRepeatPassword">Confirmar Senha:</label>
  156 + <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>
  157 + <form-messages field="cadastroForm.inputRepeatPassword" ></show-message>
  158 + </div>
  159 + </div>
  160 + </div>
  161 + <div class="row">
  162 + <div class="col-sm-12">
  163 + <span class="text">
  164 + A senha deve ter 6 ou mais caracteres e conter números e letras.
  165 + </span>
  166 + </div>
  167 + </div>
  168 + <div class="form-group">
  169 + <input type="checkbox" id="termosDeUso" name="termosDeUso" value="aceito" ng-model="termosDeUso" required>
  170 + Já li os
  171 + <a href="">Termos de Uso</a>
  172 + e concordo com os mesmos*
  173 + </input>
  174 + <form-messages field="cadastroForm.termosDeUso" ></show-message>
  175 + </div>
  176 + <div class="form-group">
  177 + <span>Digite o texto da imagem</span>
  178 + <p>O Captcha vai aqui</p>
  179 + </div>
  180 + <div class="form-group">
  181 + <button class="btn btn-lg btn-block btn-submit " ng-class=" {'disabled' : !termosDeUso }"type="submit">Cadastrar</button>
  182 + </div>
  183 + </form>
  184 + </div>
  185 + </div>
  186 + </div>
  187 + </div>
  188 + </div>
  189 + </section>
src/app/pages/propostas/propostas.controller.js
@@ -26,7 +26,7 @@ @@ -26,7 +26,7 @@
26 vm.loading = true; 26 vm.loading = true;
27 vm.error = false; 27 vm.error = false;
28 28
29 - vm.loadData(); 29 + // vm.loadData();
30 }; 30 };
31 31
32 32
src/assets/images/icons/sprite.png

105 KB | W: | H:

106 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin