Commit 8d1ca22899405581f17e5e2a2bcdda3545e72e13

Authored by Rafael Diego
1 parent 95923e83

default

src/app/components/cadastro-proposta/cadastro-proposta.directive.js
... ... @@ -9,22 +9,19 @@
9 9 function cadastroProposta() {
10 10  
11 11 /** @ngInject */
12   - function CadastroPropostaController(ArticleService, $scope, $element, $timeout, $log) {
  12 + function CadastroPropostaController ($scope, $element, $timeout, $log) {
13 13 $log.debug('cadastroPropostaController');
14 14  
15 15 var vm = this;
16   - vm.ArticleService = ArticleService;
17 16 vm.$scope = $scope;
18 17 vm.$element = $element;
19 18 vm.$timeout = $timeout;
20 19 vm.$log = $log;
21 20  
22 21 vm.init();
23   -
24   - vm.loadData();
25 22 }
26 23  
27   - CadastroPropostaController.prototype.loadData = function () {
  24 + CadastroPropostaController.prototype.init = function () {
28 25 // async values
29 26 var vm = this;
30 27  
... ... @@ -37,10 +34,10 @@
37 34 function attachPopover(){
38 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 38 vm.popover.popover({
42 39 html: true,
43   - placement: 'right',
  40 + placement: 'bottom',
44 41 animation: true,
45 42 title: 'Regra de posição das propostas',
46 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 47 var directive = {
51 48 restrict: 'E',
52 49 templateUrl: 'app/components/cadastro-proposta/cadastro-proposta.html',
53   - scope: {
54   - programa: '=',
55   - proposta: '=',
56   - },
  50 + scope: {},
57 51 controller: CadastroPropostaController,
58 52 controllerAs: 'vm',
59 53 bindToController: true
... ...
src/app/components/cadastro-proposta/cadastro-proposta.html
1 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 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 24 height: 200px;
25 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 @@
  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 @@
  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 9 <tr>
10 10 <th>
11 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 14 </th>
14 15 <th>123 PROPOSTAS</th>
15 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 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 11 .success {
12 12 background-color: #8AB34D;
13 13 }
14   -
  14 +
15 15 .error {
16 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 138 'header': { templateUrl: 'app/pages/header/header.html' },
139 139 'main': {
140 140 templateUrl: 'app/pages/propostas/cadastro-proposta.html',
141   - controller: 'CadastroPropostaController',
  141 + controller: 'PropostasPageController',
142 142 controllerAs: 'pagePropostas'
143 143 },
144 144 'footer': { templateUrl: 'app/pages/footer/footer.html' }
... ...
src/app/pages/auth/error-messages.html 0 → 100644
... ... @@ -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 7 \ No newline at end of file
... ...
src/app/pages/auth/message.html
... ... @@ -3,7 +3,7 @@
3 3 class="section-gray auth-content">
4 4 <div class="container">
5 5 <show-message
6   - type="'error'"
  6 + type="'success'"
7 7 title="'Cadastro efetuado com sucesso :)'"
8 8 message="'Agora você faz parte do Dialoga Brasil. Você será redirecionado para a página (página) em 10 segundos'"></show-message>
9 9 </div>
... ... @@ -59,4 +59,4 @@
59 59 </div>
60 60 </div>
61 61 </div>
62   -</section>
63 62 \ No newline at end of file
  63 +</section>
... ...
src/app/pages/auth/signin.html
1 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 7 </div>
8 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 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 26 vm.loading = true;
27 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