Commit 70091e2ad55f61aae0f8c838a79add05fbaf5e76

Authored by Michel Felipe
1 parent 25e3c3de

Added feature to show a alert when the user pass a invalid proposal or one that not exists

css/bootstrap-alert.min.css 0 → 100644
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +/*!
  2 + * Bootstrap v3.3.4 (http://getbootstrap.com)
  3 + * Copyright 2011-2015 Twitter, Inc.
  4 + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  5 + */
  6 + .alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}
@@ -43,6 +43,7 @@ @@ -43,6 +43,7 @@
43 function loadCSSFiles(){ 43 function loadCSSFiles(){
44 var css_files = [ 44 var css_files = [
45 'css/bootstrap.min.css', 45 'css/bootstrap.min.css',
  46 + 'css/bootstrap-alert.min.css',
46 'css/hover.custom.css', 47 'css/hover.custom.css',
47 'http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css', 48 'http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css',
48 'http://fonts.googleapis.com/css?family=Open+Sans:400,300,700', 49 'http://fonts.googleapis.com/css?family=Open+Sans:400,300,700',
@@ -227,6 +228,9 @@ @@ -227,6 +228,9 @@
227 <div class="support-proposal-container"> 228 <div class="support-proposal-container">
228 <div class="support-proposal"> 229 <div class="support-proposal">
229 <div class="container-title"> Apoie outras propostas</div> 230 <div class="container-title"> Apoie outras propostas</div>
  231 + <div class="alert alert-warning hide" role="alert">
  232 + <i class="fa fa-warning"></i><strong>Proposta não encontrada</strong>
  233 + </div>
230 <div class="support-proposal-content require-login"> 234 <div class="support-proposal-content require-login">
231 <div class="random-proposal"></div> 235 <div class="random-proposal"></div>
232 <div class="loading">Carregando...</div> 236 <div class="loading">Carregando...</div>
@@ -238,7 +242,7 @@ @@ -238,7 +242,7 @@
238 </div> 242 </div>
239 243
240 <div class="results-container hide"></div> 244 <div class="results-container hide"></div>
241 - 245 +
242 <div class="talk-proposal-container"> 246 <div class="talk-proposal-container">
243 <div class="talk-proposal"> 247 <div class="talk-proposal">
244 <div class="container-title">Bate-papo com os ministros</div> 248 <div class="container-title">Bate-papo com os ministros</div>
@@ -34,12 +34,12 @@ define([&#39;handlebars&#39;, &#39;fastclick&#39;, &#39;handlebars_helpers&#39;], function(Handlebars, F @@ -34,12 +34,12 @@ define([&#39;handlebars&#39;, &#39;fastclick&#39;, &#39;handlebars_helpers&#39;], function(Handlebars, F
34 return { 34 return {
35 private_token: '375bee7e17d0021af7160ce664874618', 35 private_token: '375bee7e17d0021af7160ce664874618',
36 getProposalId: function() { 36 getProposalId: function() {
37 - var regexProposals = /\d.*\/propostas\/\d.*/; 37 + var regexProposals = /\d.*\/propostas\/*.*/;
38 var proposalId = 0; 38 var proposalId = 0;
39 39
40 var hasProposal = regexProposals.test(location.hash); 40 var hasProposal = regexProposals.test(location.hash);
41 if( hasProposal ){ 41 if( hasProposal ){
42 - var regexExtractProposal = /propostas\/\d.*/; 42 + var regexExtractProposal = /propostas\/*.*/;
43 proposalId = regexExtractProposal.exec(location.hash)[0].split('/')[1]; 43 proposalId = regexExtractProposal.exec(location.hash)[0].split('/')[1];
44 44
45 } 45 }
@@ -69,6 +69,7 @@ define([&#39;handlebars&#39;, &#39;fastclick&#39;, &#39;handlebars_helpers&#39;], function(Handlebars, F @@ -69,6 +69,7 @@ define([&#39;handlebars&#39;, &#39;fastclick&#39;, &#39;handlebars_helpers&#39;], function(Handlebars, F
69 69
70 $.getJSON(url).done(function( data ) { 70 $.getJSON(url).done(function( data ) {
71 $loading.hide(); 71 $loading.hide();
  72 + $('.support-proposal .alert').hide();
72 73
73 data.articles = data.articles || [data.article]; 74 data.articles = data.articles || [data.article];
74 if(data.articles.length === 0) { 75 if(data.articles.length === 0) {
@@ -130,6 +131,9 @@ define([&#39;handlebars&#39;, &#39;fastclick&#39;, &#39;handlebars_helpers&#39;], function(Handlebars, F @@ -130,6 +131,9 @@ define([&#39;handlebars&#39;, &#39;fastclick&#39;, &#39;handlebars_helpers&#39;], function(Handlebars, F
130 } 131 }
131 e.preventDefault(); 132 e.preventDefault();
132 }); 133 });
  134 + }).fail(function(){
  135 + $loading.hide();
  136 + $('.support-proposal .alert').show();
133 }); 137 });
134 }, 138 },
135 139
sass/_proposal_detail.scss
@@ -433,6 +433,13 @@ @@ -433,6 +433,13 @@
433 min-height: $container-height; 433 min-height: $container-height;
434 position: relative; 434 position: relative;
435 margin: 0 0 20px 10px; 435 margin: 0 0 20px 10px;
  436 + .alert{
  437 + width: 95%;
  438 + margin: 0 auto;
  439 + strong{
  440 + margin-left: 5px;
  441 + }
  442 + }
436 } 443 }
437 .subtitle { 444 .subtitle {
438 color: #000; 445 color: #000;