Commit 022150d0d298d58bdfa18e619b99a0c33736dd6c

Authored by Leandro Santos
2 parents 51891285 0bd2ff4c

fix conflit with merge

images/airplane-contrast.png 0 → 100755

1.14 KB

images/cidadania-contrast.png 0 → 100755

2.05 KB

images/cidades-contrast.png 0 → 100755

2.04 KB

images/cultura-contrast.png 0 → 100755

1.65 KB

images/desenvolvimento-social-contrast.png 0 → 100755

2.56 KB

images/dislike-contrast.png 0 → 100755

2.21 KB

images/esporte-contrast.png 0 → 100755

1.78 KB

images/gestao-contrast.png 0 → 100755

2.4 KB

images/icon-facebook-contrast.png 0 → 100755

1.89 KB

images/icon-google-plus-contrast.png 0 → 100755

2.62 KB

images/icons/educacao-contrast.png 0 → 100755

2.99 KB

images/icons/reducao-da-pobreza-contrast.png 0 → 100755

2.85 KB

images/icons/saude-contrast.png 0 → 100755

2.48 KB

images/icons/seguranca-contrast.png 0 → 100755

2.95 KB

images/infra-contrast.png 0 → 100755

1.77 KB

images/like-contrast.png 0 → 100755

2.08 KB

images/meioambiente-contrast.png 0 → 100755

1.83 KB

1 -<html lang-"pt-br"> 1 +<html lang="pt-br">
2 <head> 2 <head>
3 <meta charset="utf-8" /> 3 <meta charset="utf-8" />
4 <title>Dialoga Brasil</title> 4 <title>Dialoga Brasil</title>
@@ -7,31 +7,41 @@ @@ -7,31 +7,41 @@
7 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 8
9 <script type='text/javascript'> 9 <script type='text/javascript'>
10 - function baseUrl(){ 10 + function removeUrlParameters(full_url){
  11 + var url_base = full_url.split('#').shift();
  12 + return url_base;
  13 + }
  14 + function addBaseUrl(filename){
11 var base = window.location.href; 15 var base = window.location.href;
12 - if(base.match(/file:/)){ 16 + if(base.match(/file:/) || filename.match(/http:/)){
13 base = ''; 17 base = '';
14 }else{ 18 }else{
15 - base = base + '/'; 19 + base = removeUrlParameters(base) + '/';
16 } 20 }
17 - return base; 21 + return base + filename;
18 } 22 }
19 function makeCSSLink(filename){ 23 function makeCSSLink(filename){
20 var fileref=document.createElement("link"); 24 var fileref=document.createElement("link");
21 fileref.setAttribute("rel", "stylesheet"); 25 fileref.setAttribute("rel", "stylesheet");
22 fileref.setAttribute("type", "text/css"); 26 fileref.setAttribute("type", "text/css");
23 - fileref.setAttribute("href", baseUrl() + filename); 27 + fileref.setAttribute("href", addBaseUrl(filename));
24 return fileref; 28 return fileref;
25 } 29 }
26 function loadCSSFiles(){ 30 function loadCSSFiles(){
27 - var css_files = ['css/bootstrap.min.css', 'css/font-awesome.min.css', 'css/open-sans.min.css', 'style.css']; 31 + var css_files = [
  32 + 'css/bootstrap.min.css',
  33 + 'http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css',
  34 + 'http://fonts.googleapis.com/css?family=Open+Sans:400,300,700',
  35 + 'http://fonts.googleapis.com/css?family=Asap:400,700',
  36 + 'style.css'
  37 + ];
28 head = document.getElementsByTagName("head")[0] 38 head = document.getElementsByTagName("head")[0]
29 for(i = 0; i < css_files.length; i++){ 39 for(i = 0; i < css_files.length; i++){
30 head.appendChild(makeCSSLink(css_files[i])); 40 head.appendChild(makeCSSLink(css_files[i]));
31 } 41 }
32 } 42 }
33 function makeJSURL(filename){ 43 function makeJSURL(filename){
34 - var url = baseUrl() + filename; 44 + var url = addBaseUrl(filename);
35 45
36 return url; 46 return url;
37 } 47 }
@@ -57,14 +67,15 @@ @@ -57,14 +67,15 @@
57 67
58 function loadJSFiles(){ 68 function loadJSFiles(){
59 var js_files = [ 69 var js_files = [
60 - 'js/jquery-2.1.3.min.js',  
61 - 'js/jquery-ui-1.11.4.custom/jquery-ui.min.js',  
62 - 'js/jquery.cookie.js',  
63 - 'js/handlebars-v3.0.1.js',  
64 - 'js/handlebars-helpers.js',  
65 - 'js/jquery.dotdotdot.min.js',  
66 - 'js/layout.js',  
67 - 'js/main.js' 70 + 'js/jquery-2.1.3.min.js',
  71 + 'js/jquery-ui-1.11.4.custom/jquery-ui.min.js',
  72 + 'js/jquery.cookie.js',
  73 + 'js/handlebars-v3.0.1.js',
  74 + 'js/handlebars-helpers.js',
  75 + 'js/jquery.dotdotdot.min.js',
  76 + 'js/jquery.maxlength.min.js',
  77 + 'js/layout.js',
  78 + 'js/main.js'
68 ]; 79 ];
69 80
70 var file_path = ''; 81 var file_path = '';
@@ -89,18 +100,22 @@ @@ -89,18 +100,22 @@
89 100
90 <script id='proposal-template' type='text/x-handlebars-template'> 101 <script id='proposal-template' type='text/x-handlebars-template'>
91 <header> 102 <header>
92 - <h1>{{article.title}}</h1> 103 + <h1><a href="#">{{article.title}}</a></h1>
93 <a id='display-contrast' href='#'>Alto Contraste</a> 104 <a id='display-contrast' href='#'>Alto Contraste</a>
94 </header> 105 </header>
95 106
96 <div id="content"> 107 <div id="content">
97 - <p>{{article.body}}</p> 108 + <p>{{{article.body}}}</p>
98 </div> 109 </div>
99 110
100 <nav> 111 <nav>
101 <ul> 112 <ul>
102 - <li id='nav-proposal-categories'><a href="#proposal-categories" class="active">Temas</a></li>  
103 - <li id='nav-proposal-group'><a href="#proposal-group">Programas</a></li> 113 + <li id='nav-proposal-categories'>
  114 + <a href="#/temas" class="active">Temas</a>
  115 + </li>
  116 + <li id='nav-proposal-group'>
  117 + <a href="#/programas">Programas</a>
  118 + </li>
104 </ul> 119 </ul>
105 </nav> 120 </nav>
106 121
@@ -108,12 +123,12 @@ @@ -108,12 +123,12 @@
108 <div id="proposal-categories-container"> 123 <div id="proposal-categories-container">
109 {{#each article.categories}} 124 {{#each article.categories}}
110 <li id='proposal-category-{{slug}}' class="proposal-category" data-category="{{slug}}"> 125 <li id='proposal-category-{{slug}}' class="proposal-category" data-category="{{slug}}">
111 - {{#link name id}}{{/link}} 126 + <a href="#/temas/{{slug}}/{{id}}" class="proposal-link" data-target="proposal-item-{{id}}">{{name}}</a>
112 <div class="arrow-box" style="display: none"></div> 127 <div class="arrow-box" style="display: none"></div>
113 </li> 128 </li>
114 {{/each}} 129 {{/each}}
115 {{#each article.categories}} 130 {{#each article.categories}}
116 - <div id='proposal-item-{{id}}' class="proposal-category-items proposal-category-items-{{slug}} hide"> 131 + <div id='proposal-item-{{id}}' class="proposal-category-items proposal-category-items-{{slug}} hide" data-category="{{slug}}">
117 <div class="header"> 132 <div class="header">
118 <div class="name">{{name}}</div> 133 <div class="name">{{name}}</div>
119 <div class="description"></div> 134 <div class="description"></div>
@@ -147,7 +162,11 @@ @@ -147,7 +162,11 @@
147 <ul class="select"> 162 <ul class="select">
148 {{#each categories}} 163 {{#each categories}}
149 <li class='category proposal-category' data-category="{{slug}}"> 164 <li class='category proposal-category' data-category="{{slug}}">
150 - {{#link name id}}{{/link}} 165 + <a href="#/temas/{{slug}}/{{id}}" class="proposal-link" data-target="proposal-item-{{id}}">{{name}}</a>
  166 + <button class="go-back btn btn-default pull-right">
  167 + VOLTAR
  168 + <span class="fa fa-reply"></span>
  169 + </button>
151 {{#select_proposal ../../article.children slug ../id}}{{/select_proposal}} 170 {{#select_proposal ../../article.children slug ../id}}{{/select_proposal}}
152 </li> 171 </li>
153 {{/each}} 172 {{/each}}
@@ -159,13 +178,18 @@ @@ -159,13 +178,18 @@
159 </div> 178 </div>
160 <div class='title'>{{title}}</div> 179 <div class='title'>{{title}}</div>
161 <div class='abstract'>{{{abstract}}}</div> 180 <div class='abstract'>{{{abstract}}}</div>
162 - <div class='show_body'><a href='#'><span>Conheça o Programa</span></a></div> 181 + <div class='show_body'>
  182 + <a href='#/programas/{{id}}/sobre-o-programa'><span>Conheça o Programa</span></a>
  183 + </div>
163 </div> 184 </div>
164 185
165 <div class='body proposal-detail-base hide'> 186 <div class='body proposal-detail-base hide'>
166 {{{body}}} 187 {{{body}}}
167 - <div class='go-to-proposal-button'><a href='#proposal-item-{{id}}'>  
168 - <div class='fa fa-reply'> </div>Agora contribua para a melhoria desse programa</a> 188 + <div class='go-to-proposal-button'>
  189 + <a href="#/programas/{{id}}" data-target='proposal-item-{{id}}'>
  190 + <span class='fa fa-reply'></span>
  191 + Agora contribua para a melhoria desse programa
  192 + </a>
169 </div> 193 </div>
170 194
171 </div> 195 </div>
@@ -180,7 +204,7 @@ @@ -180,7 +204,7 @@
180 <div class="message"></div> 204 <div class="message"></div>
181 <div> 205 <div>
182 <div><label for="article_abstract">Descrição</label></div> 206 <div><label for="article_abstract">Descrição</label></div>
183 - <textarea id="article_abstract" name="article[abstract]" placeholder="Descrição"></textarea> 207 + <textarea id="article_abstract" class="countdown" name="article[abstract]" placeholder="Descrição" maxlength="200"></textarea>
184 </div> 208 </div>
185 <input id='content_type' name='content_type' value='ProposalsDiscussionPlugin::Proposal' type='hidden'> 209 <input id='content_type' name='content_type' value='ProposalsDiscussionPlugin::Proposal' type='hidden'>
186 <input type='submit' id='make-proposal-button' class='make-proposal-button' name='make-proposal-button' value='Enviar'> 210 <input type='submit' id='make-proposal-button' class='make-proposal-button' name='make-proposal-button' value='Enviar'>
@@ -213,7 +237,7 @@ @@ -213,7 +237,7 @@
213 <div class="message"></div> 237 <div class="message"></div>
214 <div> 238 <div>
215 <div><label for="article_abstract">Descrição</label></div> 239 <div><label for="article_abstract">Descrição</label></div>
216 - <textarea id="article_abstract" name="article[abstract]" placeholder="Descrição"></textarea> 240 + <textarea id="article_abstract" class="countdown" name="article[abstract]" placeholder="Descrição" maxlength="5000"></textarea>
217 </div> 241 </div>
218 <input id='content_type' name='content_type' value='ProposalsDiscussionPlugin::Story' type='hidden'> 242 <input id='content_type' name='content_type' value='ProposalsDiscussionPlugin::Story' type='hidden'>
219 <input type='submit' id='make-experience-button' class='make-experience-button' name='make-experience-button' value='Enviar'> 243 <input type='submit' id='make-experience-button' class='make-experience-button' name='make-experience-button' value='Enviar'>
@@ -248,7 +272,7 @@ @@ -248,7 +272,7 @@
248 </script> 272 </script>
249 273
250 <script id='support-proposal-template' type='text/x-handlebars-template'> 274 <script id='support-proposal-template' type='text/x-handlebars-template'>
251 - <div class='abstract'><p>"{{abstract}}"</p></div> 275 + <div class='abstract'><p>"{{trimString abstract 200}}"</p></div>
252 <div class="vote-actions"> 276 <div class="vote-actions">
253 <a href="#" class="like dislike" data-vote-value="-1"></a> 277 <a href="#" class="like dislike" data-vote-value="-1"></a>
254 <a href="#" class="like" data-vote-value="1"></a> 278 <a href="#" class="like" data-vote-value="1"></a>
js/handlebars-helpers.js
@@ -2,7 +2,8 @@ Handlebars.registerHelper(&#39;link&#39;, function(text, url) { @@ -2,7 +2,8 @@ Handlebars.registerHelper(&#39;link&#39;, function(text, url) {
2 text = Handlebars.Utils.escapeExpression(text); 2 text = Handlebars.Utils.escapeExpression(text);
3 url = Handlebars.Utils.escapeExpression(url); 3 url = Handlebars.Utils.escapeExpression(url);
4 4
5 - var result = '<a id="#' + url + '" href="#proposal-item-' + url + '" class="proposal-link">' + text + '</a>'; 5 + // Exemplo: <a href="#/programas/{{id}}" class="proposal-link" data-target="">{{name}}</a>
  6 + var result = '<a href="#/programas/' + url + '" data-target="proposal-item-' + url + '" class="proposal-link">' + text + '</a>';
6 7
7 return new Handlebars.SafeString(result); 8 return new Handlebars.SafeString(result);
8 }); 9 });
@@ -68,6 +69,11 @@ Handlebars.registerHelper(&#39;select_proposal&#39;, function(proposals, category_slug, @@ -68,6 +69,11 @@ Handlebars.registerHelper(&#39;select_proposal&#39;, function(proposals, category_slug,
68 return ret; 69 return ret;
69 }); 70 });
70 71
  72 +Handlebars.registerHelper('trimString', function(passedString, endstring) {
  73 + var theString = passedString.substring(0, endstring);
  74 + return new Handlebars.SafeString(theString)
  75 +});
  76 +
71 function proposal_has_category(proposal, category_slug) { 77 function proposal_has_category(proposal, category_slug) {
72 for(var i=0; i<proposal.categories.length; i++) { 78 for(var i=0; i<proposal.categories.length; i++) {
73 if(proposal.categories[i].slug == category_slug) 79 if(proposal.categories[i].slug == category_slug)
js/jquery.maxlength.min.js 0 → 100644
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
  1 +/*
  2 + * jQuery Maxlength
  3 + * http://pioul.fr/jquery-maxlength
  4 + *
  5 + * Copyright 2013, Philippe Masset
  6 + * Dual licensed under the MIT or GPL Version 2 licenses
  7 + */
  8 +(function(a){a.fn.maxlength=function(b){var c=a(this);return c.each(function(){b=a.extend({},{counterContainer:!1,text:"%left characters left"},b);var c=a(this),d={options:b,field:c,counter:a('<div class="maxlength"></div>'),maxLength:parseInt(c.attr("maxlength"),10),lastLength:null,updateCounter:function(){var b=this.field.val().length,c=this.options.text.replace(/\B%(length|maxlength|left)\b/g,a.proxy(function(a,c){return"length"==c?b:"maxlength"==c?this.maxLength:this.maxLength-b},this));this.counter.html(c),b!=this.lastLength&&this.updateLength(b)},updateLength:function(a){this.field.trigger("update.maxlength",[this.field,this.lastLength,a,this.maxLength,this.maxLength-a]),this.lastLength=a}};d.maxLength&&(d.field.data("maxlength",d).bind({"keyup change":function(){a(this).data("maxlength").updateCounter()},"cut paste drop":function(){setTimeout(a.proxy(function(){a(this).data("maxlength").updateCounter()},this),1)}}),b.counterContainer?b.counterContainer.append(d.counter):d.field.after(d.counter),d.updateCounter())}),c}})(jQuery);
0 \ No newline at end of file 9 \ No newline at end of file
@@ -38,53 +38,54 @@ $.getJSON(noosferoAPI) @@ -38,53 +38,54 @@ $.getJSON(noosferoAPI)
38 data['private_token'] = private_token; 38 data['private_token'] = private_token;
39 resultsPlaceholder.innerHTML = template(data); 39 resultsPlaceholder.innerHTML = template(data);
40 $('.login-container').html(loginTemplate()); 40 $('.login-container').html(loginTemplate());
  41 + $('.countdown').maxlength({text: '%left caracteres restantes'});
  42 +
  43 + navigateTo(window.location.hash);
41 44
42 - url = $(location).attr('href').split('#').pop();  
43 - if(url.match(/proposal-item-[0-9]+/)){  
44 - display_proposal(url);  
45 - }  
46 //Actions for links 45 //Actions for links
47 $( '#nav-proposal-categories a' ).click(function(event){ 46 $( '#nav-proposal-categories a' ).click(function(event){
48 - //Display the category tab  
49 - $('#proposal-group').hide();  
50 - $('#proposal-categories').show();  
51 - $('#nav-proposal-categories a').addClass('active');  
52 - $('#nav-proposal-group a').removeClass('active');  
53 - $('.proposal-category-items').hide();  
54 - $('.proposal-category .arrow-box').hide();  
55 - $('.proposal-detail').hide();  
56 event.preventDefault(); 47 event.preventDefault();
  48 +
  49 + var $link = $(this);
  50 +
  51 + // Update URL and Navigate
  52 + updateHash($link.attr('href'));
57 }); 53 });
  54 +
58 $( '#nav-proposal-group a' ).click(function(event){ 55 $( '#nav-proposal-group a' ).click(function(event){
59 - //Display the Topics or Discussions tab  
60 - $('#proposal-categories').hide();  
61 - $('#proposal-group').show();  
62 - $('#nav-proposal-group a').addClass('active');  
63 - $('#nav-proposal-categories a').removeClass('active');  
64 - $(".proposal-item p").dotdotdot();  
65 event.preventDefault(); 56 event.preventDefault();
  57 +
  58 + var $link = $(this);
  59 +
  60 + // Update URL and Navigate
  61 + updateHash($link.attr('href'));
66 }); 62 });
  63 +
67 $( '.proposal-item a' ).click(function(event){ 64 $( '.proposal-item a' ).click(function(event){
68 - var item = this.href.split('#').pop();  
69 - display_proposal(item); 65 + var $link = $(this);
  66 + var item = $link.data('target');
  67 +
  68 + // Update URL and Navigate
  69 + updateHash($link.attr('href'));
70 }); 70 });
  71 +
71 $( '.proposal-category a' ).click(function(event){ 72 $( '.proposal-category a' ).click(function(event){
72 - var item = this.href.split('#').pop();  
73 - if($('#' + item).hasClass('proposal-category-items')){  
74 - //Display Topics or Discussion by category  
75 - $('nav').show();  
76 - $('#content').show();  
77 - $('#proposal-categories').show();  
78 - $('.proposal-category-items').hide();  
79 - $('.proposal-detail').hide();  
80 - $('#' + item).show();  
81 - $(".proposal-item p").dotdotdot();  
82 - $('.proposal-category .arrow-box').hide();  
83 - $(this).parent('.proposal-category').data('category');  
84 - $('#proposal-category-'+$(this).parent('.proposal-category').data('category')).find('.arrow-box').show();  
85 - }  
86 event.preventDefault(); 73 event.preventDefault();
  74 +
  75 + var $link = $(this);
  76 + var item = $link.data('target');
  77 +
  78 + // Update URL and Navigate
  79 + updateHash($link.attr('href'));
87 }); 80 });
  81 +
  82 + $( '.proposal-category .go-back' ).click(function(event){
  83 + event.preventDefault();
  84 +
  85 + // Update URL and Navigate
  86 + updateHash('#/temas');
  87 + });
  88 +
88 $( '.send-button a' ).click(function(event){ 89 $( '.send-button a' ).click(function(event){
89 //display form to send proposal (or login form for non-logged users) 90 //display form to send proposal (or login form for non-logged users)
90 loginButton = $(this).parents('.send-button'); 91 loginButton = $(this).parents('.send-button');
@@ -97,11 +98,25 @@ $.getJSON(noosferoAPI) @@ -97,11 +98,25 @@ $.getJSON(noosferoAPI)
97 $('#proposal-result').toggleClass('contrast'); 98 $('#proposal-result').toggleClass('contrast');
98 }); 99 });
99 $( '.show_body a' ).click(function(event){ 100 $( '.show_body a' ).click(function(event){
100 - display_proposal_detail(); 101 + event.preventDefault();
  102 +
  103 + var $link = $(this);
  104 + var item = $link.data('target');
  105 +
  106 + // Update URL and Navigate
  107 + updateHash($link.attr('href'));
101 }); 108 });
  109 +
102 $( '.go-to-proposal-button a' ).click(function(event){ 110 $( '.go-to-proposal-button a' ).click(function(event){
103 - display_proposal(this.href.split('#').pop()); 111 + event.preventDefault();
  112 +
  113 + var $link = $(this);
  114 + var item = $link.data('target');
  115 +
  116 + // Update URL and Navigate
  117 + updateHash($link.attr('href'));
104 }); 118 });
  119 +
105 $( '.proposal-selection' ).change(function(event){ 120 $( '.proposal-selection' ).change(function(event){
106 display_proposal('proposal-item-' + this.value); 121 display_proposal('proposal-item-' + this.value);
107 }); 122 });
@@ -110,6 +125,7 @@ $.getJSON(noosferoAPI) @@ -110,6 +125,7 @@ $.getJSON(noosferoAPI)
110 $('#proposal-group li a').each(function(){ 125 $('#proposal-group li a').each(function(){
111 availableTags.push({ label: $(this).text(), value: $(this).attr('href')}); 126 availableTags.push({ label: $(this).text(), value: $(this).attr('href')});
112 }); 127 });
  128 +
113 $( "#search-input" ).autocomplete({ 129 $( "#search-input" ).autocomplete({
114 source: availableTags, 130 source: availableTags,
115 select: function( event, ui ) { display_proposal(ui.item['value' ].replace('#','')); }, 131 select: function( event, ui ) { display_proposal(ui.item['value' ].replace('#','')); },
@@ -142,7 +158,7 @@ $.getJSON(noosferoAPI) @@ -142,7 +158,7 @@ $.getJSON(noosferoAPI)
142 .fail(function( jqxhr, textStatus, error ) { 158 .fail(function( jqxhr, textStatus, error ) {
143 var err = textStatus + ", " + error; 159 var err = textStatus + ", " + error;
144 console.log( "Request Failed: " + err ); 160 console.log( "Request Failed: " + err );
145 - }); 161 + });
146 162
147 function loadRandomProposal(topic_id, private_token) { 163 function loadRandomProposal(topic_id, private_token) {
148 $(".no-proposals").hide(); 164 $(".no-proposals").hide();
@@ -159,7 +175,7 @@ function loadRandomProposal(topic_id, private_token) { @@ -159,7 +175,7 @@ function loadRandomProposal(topic_id, private_token) {
159 175
160 var article = data.articles[0]; 176 var article = data.articles[0];
161 $('.random-proposal').html(supportProposalTemplate(article)); 177 $('.random-proposal').html(supportProposalTemplate(article));
162 - $(".abstract").dotdotdot(); 178 + // $(".abstract").dotdotdot();
163 $(document.body).off('click', '.vote-actions .skip'); 179 $(document.body).off('click', '.vote-actions .skip');
164 $(document.body).on('click', '.vote-actions .skip', function(e) { 180 $(document.body).on('click', '.vote-actions .skip', function(e) {
165 loadRandomProposal(topic_id, private_token); 181 loadRandomProposal(topic_id, private_token);
@@ -180,10 +196,6 @@ function loadRandomProposal(topic_id, private_token) { @@ -180,10 +196,6 @@ function loadRandomProposal(topic_id, private_token) {
180 e.preventDefault(); 196 e.preventDefault();
181 }); 197 });
182 198
183 - $('.results-container').hide();  
184 - $('.experience-proposal-container').show();  
185 - $('.talk-proposal-container').show();  
186 -  
187 $(document.body).off('click', '.vote-result'); 199 $(document.body).off('click', '.vote-result');
188 $(document.body).on('click', '.vote-result', function(e) { 200 $(document.body).on('click', '.vote-result', function(e) {
189 $('.results-container').toggle(); 201 $('.results-container').toggle();
@@ -195,6 +207,7 @@ function loadRandomProposal(topic_id, private_token) { @@ -195,6 +207,7 @@ function loadRandomProposal(topic_id, private_token) {
195 $('.results-container').html(resultsTemplate(data)); 207 $('.results-container').html(resultsTemplate(data));
196 $('.results-container .loading').hide(); 208 $('.results-container .loading').hide();
197 $('.results-container .results-content').show(); 209 $('.results-container .results-content').show();
  210 + $("html, body").animate({ scrollTop: $(document).height() }, "fast");
198 }); 211 });
199 $('.experience-proposal-container').hide(); 212 $('.experience-proposal-container').hide();
200 $('.talk-proposal-container').hide(); 213 $('.talk-proposal-container').hide();
@@ -265,6 +278,30 @@ function guid() { @@ -265,6 +278,30 @@ function guid() {
265 s4() + '-' + s4() + s4() + s4(); 278 s4() + '-' + s4() + s4() + s4();
266 } 279 }
267 280
  281 +function display_category_tab(){
  282 + $('#proposal-group').hide();
  283 + $('#proposal-categories').show();
  284 + $('#nav-proposal-categories a').addClass('active');
  285 + $('#nav-proposal-group a').removeClass('active');
  286 + $('.proposal-category-items').hide();
  287 + $('.proposal-category .arrow-box').hide();
  288 + $('.proposal-detail').hide();
  289 +
  290 + $('#content').show();
  291 + $('nav').show();
  292 +}
  293 +
  294 +function display_proposals_tab(){
  295 + $('#proposal-categories').hide();
  296 + $('#proposal-group').show();
  297 + $('#nav-proposal-group a').addClass('active');
  298 + $('#nav-proposal-categories a').removeClass('active');
  299 + $(".proposal-item p").dotdotdot();
  300 +
  301 + $('#content').show();
  302 + $('nav').show();
  303 +}
  304 +
268 function display_proposal(proposal_id){ 305 function display_proposal(proposal_id){
269 $('#proposal-categories').hide(); 306 $('#proposal-categories').hide();
270 $('#proposal-group').hide(); 307 $('#proposal-group').hide();
@@ -301,6 +338,103 @@ function display_proposal_detail(){ @@ -301,6 +338,103 @@ function display_proposal_detail(){
301 $('.talk-proposal-container').hide(); 338 $('.talk-proposal-container').hide();
302 339
303 $('.body').show(); 340 $('.body').show();
304 - event.preventDefault(); 341 + $("html, body").animate({ scrollTop: 0 }, "fast");
  342 +}
  343 +
  344 +function display_proposal_by_category(item){
  345 + var $item = $('#' + item);
  346 +
  347 + if($item.hasClass('proposal-category-items')){
  348 + //Display Topics or Discussion by category
  349 + $('nav').show();
  350 + $('#content').show();
  351 + $('#proposal-categories').show();
  352 + $('.proposal-category-items').hide();
  353 + $('.proposal-detail').hide();
  354 + $item.show();
  355 + $(".proposal-item p").dotdotdot();
  356 + $('.proposal-category .arrow-box').hide();
  357 + var categorySlug = $item.data('category');
  358 + $('#proposal-category-' + categorySlug).find('.arrow-box').show();
  359 + }
  360 +}
  361 +
  362 +function updateHash(hash){
  363 + var id = hash.replace(/^.*#/, '');
  364 + var elem = document.getElementById(id);
  365 +
  366 + if ( !elem ) {
  367 + window.location.hash = hash;
  368 + return;
  369 + }
  370 +
  371 + elem.id = id+'-tmp';
  372 + window.location.hash = hash;
  373 + elem.id = id;
  374 +}
  375 +
  376 +function locationHashChanged(){
  377 + var hash = location.hash;
  378 + navigateTo(hash);
  379 +}
  380 +
  381 +function navigateTo(hash){
  382 + var regexProposals = /#\/programas/;
  383 + var regexCategory = /#\/temas/;
  384 + var parts = hash.split('/');
305 385
  386 + var isProposal = regexProposals.exec(hash) !== null;
  387 + var isCategory = regexCategory.exec(hash) !== null;
  388 +
  389 + if( isProposal ){
  390 +
  391 + // go to proposal
  392 + var proposalId = parts[2];
  393 + navigateToProposal(proposalId);
  394 +
  395 + return;
  396 + }
  397 +
  398 + if( isCategory ){
  399 +
  400 + // go to category
  401 + var categoryId = parts[3];
  402 + navigateToCategory(categoryId);
  403 +
  404 + return;
  405 + }
  406 +
  407 + // default
  408 + // show the 'index' -> category tab
  409 + display_category_tab();
  410 + console.log('route not handled', hash);
  411 +}
  412 +
  413 +function navigateToProposal(proposalId){
  414 + if(proposalId === undefined){
  415 + display_proposals_tab();
  416 + }else{
  417 + display_proposal('proposal-item-' + proposalId);
  418 +
  419 + // show sub-page
  420 + var regexSubpages = /sobre-o-programa$/;
  421 + var m;
  422 + if((m = regexSubpages.exec(window.location.hash)) !== null ){
  423 + display_proposal_detail();
  424 + }
  425 + }
  426 +}
  427 +
  428 +function navigateToCategory(categoryId){
  429 + if(categoryId === undefined){
  430 + display_category_tab();
  431 + }else{
  432 + display_proposal_by_category('proposal-item-' + categoryId)
  433 + }
  434 +}
  435 +
  436 +if("onhashchange" in window){
  437 + window.onhashchange = locationHashChanged;
  438 +}else{
  439 + console.log('The browser not supports the hashchange event!');
306 } 440 }
sass/_accessibility.scss 0 → 100644
@@ -0,0 +1,483 @@ @@ -0,0 +1,483 @@
  1 +
  2 +/*----------------------- ESTRUTURA ---------------------- */
  3 +
  4 +.contrast,
  5 +.contrast header{
  6 + color: #fff !important;
  7 + background: #000 !important;
  8 +}
  9 +
  10 +#proposal-result.contrast{
  11 + overflow: hidden;
  12 +}
  13 +
  14 +
  15 +/*----------------------- ELEMENTOS COR BRANCA ---------------------- */
  16 +.contrast h1,
  17 +.contrast h2,
  18 +.contrast h3,
  19 +.contrast h4,
  20 +.contrast h5,
  21 +.contrast h6,
  22 +.contrast a,
  23 +.contrast p,
  24 +.contrast small,
  25 +.contrast .container-title,
  26 +.contrast .subtitle,
  27 +.contrast .info{
  28 + color: #fff !important;
  29 +}
  30 +
  31 +/*----------------------- ELEMENTOS BACKGROUND PRETO COM TEXTO BRANCO ---------------------- */
  32 +.contrast nav li,
  33 +.contrast #proposal-categories,
  34 +.contrast #proposal-group,
  35 +.contrast #proposal-categories .proposal-item,
  36 +.contrast .proposal-detail .saude .proposal-header .show_body,
  37 +.contrast .proposal-detail .saude .proposal-header .show_body span,
  38 +.contrast .proposal-detail .saude .proposal-header .title,
  39 +.contrast .proposal-detail .saude .proposal-header .abstract p,
  40 +.contrast .proposal-detail .seguranca .proposal-header .show_body,
  41 +.contrast .proposal-detail .seguranca .proposal-header .show_body span,
  42 +.contrast .proposal-detail .seguranca .proposal-header .title,
  43 +.contrast .proposal-detail .seguranca .proposal-header .abstract p,
  44 +.contrast .proposal-detail .educacao .proposal-header .show_body,
  45 +.contrast .proposal-detail .educacao .proposal-header .show_body span,
  46 +.contrast .proposal-detail .educacao .proposal-header .title,
  47 +.contrast .proposal-detail .educacao .proposal-header .abstract p,
  48 +.contrast .proposal-detail .reducao-da-pobreza .proposal-header .show_body,
  49 +.contrast .proposal-detail .reducao-da-pobreza .proposal-header .show_body span,
  50 +.contrast .proposal-detail .reducao-da-pobreza .proposal-header .title,
  51 +.contrast .proposal-detail .reducao-da-pobreza .proposal-header .abstract p,
  52 +.contrast .talk-proposal .calendar li,
  53 +.contrast .proposal-detail .saude .talk-proposal-container .talk-proposal ul li,
  54 +.contrast .proposal-detail .educacao .talk-proposal-container .talk-proposal ul li,
  55 +.contrast .proposal-detail .seguranca .talk-proposal-container .talk-proposal ul li,
  56 +.contrast .proposal-detail .reducao-da-pobreza .talk-proposal-container .talk-proposal ul li,
  57 +.contrast .talk-proposal .calendar li span,
  58 +.contrast .talk-proposal .calendar li .date,
  59 +.contrast .talk-proposal .calendar li .time,
  60 +.contrast .make-proposal #user_name,
  61 +.contrast .make-proposal #user_password,
  62 +.contrast .experience-proposal #user_name,
  63 +.contrast .experience-proposal #user_password,
  64 +.contrast .proposal-detail .saude .actions > a.login-action,
  65 +.contrast .proposal-detail .seguranca .actions > a.login-action,
  66 +.contrast .proposal-detail .educacao .actions > a.login-action,
  67 +.contrast .proposal-detail .reducao-da-pobreza .actions > a.login-action,
  68 +.contrast .proposal-detail .saude form .oauth .new-user,
  69 +.contrast .proposal-detail .seguranca form .oauth .new-user,
  70 +.contrast .proposal-detail .educacao form .oauth .new-user,
  71 +.contrast .proposal-detail .reducao-da-pobreza form .oauth .new-user,
  72 +.contrast .saude .proposal-detail-base ul.list-unstyled li,
  73 +.contrast .educacao .proposal-detail-base ul.list-unstyled li,
  74 +.contrast .seguranca .proposal-detail-base ul.list-unstyled li,
  75 +.contrast .reducao-da-pobreza .proposal-detail-base ul.list-unstyled li{
  76 + color: #fff !important;
  77 + background: #000 !important;
  78 +}
  79 +
  80 +
  81 +/*----------------------- ELEMENTOS BACKGROUND COM IMAGEM ---------------------- */
  82 +.contrast .category-saude,
  83 +.contrast .category-reducao-da-pobreza,
  84 +.contrast .category-educacao,
  85 +.contrast .category-seguranca,
  86 +.contrast #proposal-category-saude a,
  87 +.contrast #proposal-category-seguranca a,
  88 +.contrast #proposal-category-educacao a,
  89 +.contrast #proposal-category-reducao-da-pobreza a,
  90 +.contrast .proposal-detail .saude .container-button a,
  91 +.contrast .proposal-detail .educacao .container-button a,
  92 +.contrast .proposal-detail .seguranca .container-button a,
  93 +.contrast .proposal-detail .reducao-da-pobreza .container-button a,
  94 +.contrast .proposal-detail .saude .make-proposal-container .make-proposal-button a,
  95 +.contrast .proposal-detail .saude .make-proposal-container .send-proposal-button a,
  96 +.contrast .proposal-detail .saude .make-proposal-container .success-proposal-sent a,
  97 +.contrast .proposal-detail .saude .experience-proposal-container .send-experience-button a,
  98 +.contrast .proposal-detail .seguranca .make-proposal-container .seguranca .make-proposal-button a,
  99 +.contrast .proposal-detail .seguranca .make-proposal-container .seguranca .send-proposal-button a,
  100 +.contrast .proposal-detail .seguranca .make-proposal-container .seguranca .success-proposal-sent a,
  101 +.contrast .proposal-detail .seguranca .experience-proposal-container .seguranca .send-experience-button a,
  102 +.contrast .proposal-detail .educacao .make-proposal-container .educacao .make-proposal-button a,
  103 +.contrast .proposal-detail .educacao .make-proposal-container .educacao .send-proposal-button a,
  104 +.contrast .proposal-detail .educacao .make-proposal-container .educacao .success-proposal-sent a,
  105 +.contrast .proposal-detail .educacao .experience-proposal-container .educacao .send-experience-button a,
  106 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .reducao-da-pobreza .make-proposal-button a,
  107 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .reducao-da-pobreza .send-proposal-button a,
  108 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .reducao-da-pobreza .success-proposal-sent a,
  109 +.contrast .proposal-detail .reducao-da-pobreza .experience-proposal-container .reducao-da-pobreza .send-experience-button a,
  110 +.contrast .proposal-detail .saude input[type="submit"],
  111 +.contrast .proposal-detail .saude .success-proposal-sent a,
  112 +.contrast .proposal-detail .educacao input[type="submit"],
  113 +.contrast .proposal-detail .educacao .success-proposal-sent a,
  114 +.contrast .proposal-detail .seguranca input[type="submit"],
  115 +.contrast .proposal-detail .seguranca .success-proposal-sent a,
  116 +.contrast .proposal-detail .reducao-da-pobreza input[type="submit"],
  117 +.contrast .proposal-detail .reducao-da-pobreza .success-proposal-sent a,
  118 +.contrast #proposal-categories .proposal-category-items,
  119 +.contrast #proposal-group .proposal-category-items,
  120 +.contrast .skip,
  121 +.contrast .send-proposal-button.send-button > a,
  122 +.contrast .send-experience-button.send-button > a{
  123 + background-color: #000 !important;
  124 +}
  125 +
  126 +.contrast .saude .proposal-detail-base .bloco-destaque,
  127 +.contrast .educacao .proposal-detail-base .bloco-destaque,
  128 +.contrast .seguranca .proposal-detail-base .bloco-destaque,
  129 +.contrast .reducao-da-pobreza .proposal-detail-base .bloco-destaque{
  130 + background-color: #fff !important;
  131 +}
  132 +
  133 +
  134 +/*----------------------- ELEMENTOS BACKGROUND BRANCO COM TEXTO PRETO ---------------------- */
  135 +.contrast nav li a.active,
  136 +.contrast #proposal-group,
  137 +.contrast #proposal-categories,
  138 +.contrast #proposal-group .proposal-item,
  139 +.contrast .proposal-detail .saude li,
  140 +.contrast .proposal-detail .saude li a,
  141 +.contrast .proposal-detail .seguranca li,
  142 +.contrast .proposal-detail .seguranca li a,
  143 +.contrast .proposal-detail .educacao li,
  144 +.contrast .proposal-detail .educacao li a,
  145 +.contrast .proposal-detail .reducao-da-pobreza li,
  146 +.contrast .proposal-detail .reducao-da-pobreza li a,
  147 +.contrast .experience-proposal,
  148 +.contrast .make-proposal,
  149 +.contrast .support-proposal,
  150 +.contrast .talk-proposal,
  151 +.contrast .saude .proposal-detail-base .go-to-proposal-button a,
  152 +.contrast .educacao .proposal-detail-base .go-to-proposal-button a,
  153 +.contrast .seguranca .proposal-detail-base .go-to-proposal-button a,
  154 +.contrast .reducao-da-pobreza .proposal-detail-base .go-to-proposal-button a{
  155 + color: #000 !important;
  156 + background: #fff !important;
  157 +}
  158 +
  159 +/*----------------------- ELEMENTO CONHEÇA O PROGRAMA ADIÇÃO DE BORDA BRANCA ---------------------- */
  160 +.contrast .proposal-detail .saude .proposal-header .show_body,
  161 +.contrast .proposal-detail .educacao .proposal-header .show_body,
  162 +.contrast .proposal-detail .seguranca .proposal-header .show_body,
  163 +.contrast .proposal-detail .reducao-da-pobreza .proposal-header .show_body{
  164 + border-top: 5px solid #fff !important;
  165 + border-bottom: 1px solid #fff !important;
  166 + border-left: 1px solid #fff !important;
  167 + border-right: 1px solid #fff !important;
  168 +}
  169 +
  170 +/*----------------------- ELEMENTOS ADIÇÃO DE BORDA BRANCA ---------------------- */
  171 +.contrast #proposal-categories,
  172 +.contrast #proposal-group,
  173 +.contrast .proposal-item,
  174 +.contrast .category-saude,
  175 +.contrast .category-reducao-da-pobreza,
  176 +.contrast .category-educacao,
  177 +.contrast .category-seguranca,
  178 +.contrast #proposal-categories .proposal-item .item,
  179 +.contrast #proposal-group .proposal-item .item,
  180 +.contrast .make-proposal,
  181 +.contrast .support-proposal,
  182 +.contrast .experience-proposal,
  183 +.contrast .talk-proposal{
  184 + border: 1px solid #fff !important;
  185 +}
  186 +
  187 +.contrast #proposal-categories ul.category,
  188 +.contrast #proposal-group ul.category{
  189 + border-top: 1px dotted #fff !important;
  190 +}
  191 +
  192 +.contrast nav li a.active{
  193 + border-top: 1px solid #fff;
  194 + border-left: 1px solid #fff;
  195 + border-right: 1px solid #fff;
  196 +}
  197 +
  198 +.contrast .saude .proposal-detail-base blockquote,
  199 +.contrast .educacao .proposal-detail-base blockquote,
  200 +.contrast .seguranca .proposal-detail-base blockquote,
  201 +.contrast .reducao-da-pobreza .proposal-detail-base blockquote{
  202 + border-color: #fff !important;
  203 +}
  204 +
  205 +/*----------------------- ELEMENTOS ADIÇÃO DE BORDA PRETA ---------------------- */
  206 +
  207 +.contrast #proposal-group .proposal-item{
  208 + border-bottom: 1px solid #000 !important;
  209 +}
  210 +
  211 +.contrast #proposal-category-saude .arrow-box::after,
  212 +.contrast #proposal-category-seguranca .arrow-box::after,
  213 +.contrast #proposal-category-educacao .arrow-box::after,
  214 +.contrast #proposal-category-reducao-da-pobreza .arrow-box::after{
  215 + border-bottom-color: #000 !important;
  216 +}
  217 +
  218 +/*----------------------- ELEMENTOS APENAS TEXTO PRETO ---------------------- */
  219 +.contrast #proposal-group .proposal-item a,
  220 +.contrast #proposal-group .proposal-item p,
  221 +.contrast .make-proposal .container-title,
  222 +.contrast .support-proposal .container-title,
  223 +.contrast .experience-proposal .container-title,
  224 +.contrast .talk-proposal .container-title,
  225 +.contrast .make-proposal .subtitle,
  226 +.contrast .support-proposal .subtitle,
  227 +.contrast .experience-proposal .subtitle,
  228 +.contrast .talk-proposal .subtitle,
  229 +.contrast .make-proposal .info,
  230 +.contrast .support-proposal .info,
  231 +.contrast .experience-proposal .info,
  232 +.contrast .talk-proposal .info,
  233 +.contrast .support-proposal .vote-result,
  234 +.contrast .experience-proposal p,
  235 +.contrast .talk-proposal p,
  236 +.contrast .proposal-detail-base .bloco-destaque h4,
  237 +.contrast .proposal-detail-base .bloco-destaque p,
  238 +.contrast .forgot-password{
  239 + color: #000 !important;
  240 +}
  241 +
  242 +/*----------------------- ELEMENTOS APENAS TEXTO BRANCO ---------------------- */
  243 +.contrast #proposal-group .proposal-item:hover a,
  244 +.contrast #proposal-group .proposal-item:hover p,
  245 +.contrast .votes-for,
  246 +.contrast .score,
  247 +.contrast .votes-for{
  248 + color: #fff !important;
  249 +}
  250 +
  251 +/*----------------------- ELEMENTOS MOUSE HOVER ---------------------- */
  252 +.contrast #proposal-group .proposal-item:hover{
  253 + color: #fff !important;
  254 + background: #000 !important;
  255 +}
  256 +
  257 +.contrast .send-proposal-button.send-button > a:hover,
  258 +.contrast #proposal-category-saude a:hover,
  259 +.contrast #proposal-category-seguranca a:hover,
  260 +.contrast #proposal-category-educacao a:hover,
  261 +.contrast #proposal-category-reducao-da-pobreza a:hover,
  262 +.contrast .proposal-detail .saude .container-button a:hover,
  263 +.contrast .proposal-detail .educacao .container-button a:hover,
  264 +.contrast .proposal-detail .seguranca .container-button a:hover,
  265 +.contrast .proposal-detail .reducao-da-pobreza .container-button a:hover,
  266 +.contrast .proposal-detail .saude .make-proposal-container .make-proposal-button a:hover,
  267 +.contrast .proposal-detail .saude .make-proposal-container .send-proposal-button a:hover,
  268 +.contrast .proposal-detail .saude .make-proposal-container .success-proposal-sent a:hover,
  269 +.contrast .proposal-detail .saude .experience-proposal-container .send-experience-button a:hover,
  270 +.contrast .proposal-detail .seguranca .make-proposal-container .seguranca .make-proposal-button a:hover,
  271 +.contrast .proposal-detail .seguranca .make-proposal-container .seguranca .send-proposal-button a:hover,
  272 +.contrast .proposal-detail .seguranca .make-proposal-container .seguranca .success-proposal-sent a:hover,
  273 +.contrast .proposal-detail .seguranca .experience-proposal-container .seguranca .send-experience-button a:hover,
  274 +.contrast .proposal-detail .educacao .make-proposal-container .educacao .make-proposal-button a:hover,
  275 +.contrast .proposal-detail .educacao .make-proposal-container .educacao .send-proposal-button a:hover,
  276 +.contrast .proposal-detail .educacao .make-proposal-container .educacao .success-proposal-sent a:hover,
  277 +.contrast .proposal-detail .educacao .experience-proposal-container .educacao .send-experience-button a:hover,
  278 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .reducao-da-pobreza .make-proposal-button a:hover,
  279 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .reducao-da-pobreza .send-proposal-button a:hover,
  280 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .reducao-da-pobreza .success-proposal-sent a:hover,
  281 +.contrast .proposal-detail .reducao-da-pobreza .experience-proposal-container .reducao-da-pobreza .send-experience-button a:hover,
  282 +.contrast .proposal-detail .saude input[type="submit"]:hover,
  283 +.contrast .proposal-detail .saude .success-proposal-sent a:hover,
  284 +.contrast .proposal-detail .educacao input[type="submit"]:hover,
  285 +.contrast .proposal-detail .educacao .success-proposal-sent a:hover,
  286 +.contrast .proposal-detail .seguranca input[type="submit"]:hover,
  287 +.contrast .proposal-detail .seguranca .success-proposal-sent a:hover,
  288 +.contrast .proposal-detail .reducao-da-pobreza input[type="submit"]:hover,
  289 +.contrast .proposal-detail .reducao-da-pobreza .success-proposal-sent a:hover,
  290 +.contrast .skip:hover,
  291 +.contrast .send-proposal-button.send-button > a:hover,
  292 +.contrast .send-experience-button.send-button > a:hover,
  293 +.contrast .proposal-detail .saude .actions > a.login-action:hover,
  294 +.contrast .proposal-detail .seguranca .actions > a.login-action:hover,
  295 +.contrast .proposal-detail .educacao .actions > a.login-action:hover,
  296 +.contrast .proposal-detail .reducao-da-pobreza .actions > a.login-action:hover,
  297 +.contrast .proposal-detail .saude form .oauth .new-user:hover,
  298 +.contrast .proposal-detail .seguranca form .oauth .new-user:hover,
  299 +.contrast .proposal-detail .educacao form .oauth .new-user:hover,
  300 +.contrast .proposal-detail .reducao-da-pobreza form .oauth .new-user:hover{
  301 + color: #000 !important;
  302 + // border: 1px solid #000 !important;
  303 + background: #fff !important;
  304 + box-shadow: 0 0 5px 1px #000;
  305 +}
  306 +
  307 +
  308 +.contrast .proposal-detail .reducao-da-pobreza .container-button a:hover span,
  309 +.contrast .proposal-detail .saude .container-button a:hover span,
  310 +.contrast .proposal-detail .educacao .container-button a:hover span,
  311 +.contrast .proposal-detail .seguranca .container-button a:hover span,
  312 +.contrast .proposal-detail .saude .make-proposal-container .saude .make-proposal-button a:hover span,
  313 +.contrast .proposal-detail .saude .make-proposal-container .saude .send-proposal-button a:hover span,
  314 +.contrast .proposal-detail .saude .make-proposal-container .saude .success-proposal-sent a:hover span,
  315 +.contrast .proposal-detail .saude .experience-proposal-container .saude .send-experience-button a:hover span,
  316 +.contrast .proposal-detail .seguranca .make-proposal-container .seguranca .make-proposal-button a:hover span,
  317 +.contrast .proposal-detail .seguranca .make-proposal-container .seguranca .send-proposal-button a:hover span,
  318 +.contrast .proposal-detail .seguranca .make-proposal-container .seguranca .success-proposal-sent a:hover span,
  319 +.contrast .proposal-detail .seguranca .experience-proposal-container .seguranca .send-experience-button a:hover span,
  320 +.contrast .proposal-detail .educacao .make-proposal-container .educacao .make-proposal-button a:hover span,
  321 +.contrast .proposal-detail .educacao .make-proposal-container .educacao .send-proposal-button a:hover span,
  322 +.contrast .proposal-detail .educacao .make-proposal-container .educacao .success-proposal-sent a:hover span,
  323 +.contrast .proposal-detail .educacao .experience-proposal-container .educacao .send-experience-button a:hover span,
  324 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .make-proposal-button a:hover span,
  325 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .send-proposal-button a:hover span,
  326 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .success-proposal-sent a:hover span,
  327 +.contrast .proposal-detail .reducao-da-pobreza .experience-proposal-container .send-experience-button a:hover span,
  328 +.contrast .proposal-detail .reducao-da-pobreza input[type="submit"]:hover span,
  329 +.contrast .proposal-detail .reducao-da-pobreza .success-proposal-sent a:hover span,
  330 +.contrast .proposal-detail .saude input[type="submit"]:hover span,
  331 +.contrast .proposal-detail .saude .success-proposal-sent a:hover span,
  332 +.contrast .proposal-detail .educacao input[type="submit"]:hover span,
  333 +.contrast .proposal-detail .educacao .success-proposal-sent a:hover span,
  334 +.contrast .proposal-detail .seguranca input[type="submit"]:hover span,
  335 +.contrast .proposal-detail .seguranca .success-proposal-sent a:hover span,
  336 +.contrast .proposal-detail .seguranca .container-button a:hover span,
  337 +.contrast .proposal-detail .saude .make-proposal-container .seguranca .make-proposal-button a:hover span,
  338 +.contrast .proposal-detail .saude .make-proposal-container .seguranca .send-proposal-button a:hover span,
  339 +.contrast .proposal-detail .saude .make-proposal-container .seguranca .success-proposal-sent a:hover span,
  340 +.contrast .proposal-detail .saude .experience-proposal-container .seguranca .send-experience-button a:hover span,
  341 +.contrast .proposal-detail .seguranca .make-proposal-container .make-proposal-button a:hover span,
  342 +.contrast .proposal-detail .seguranca .make-proposal-container .send-proposal-button a:hover span,
  343 +.contrast .proposal-detail .seguranca .make-proposal-container .success-proposal-sent a:hover span,
  344 +.contrast .proposal-detail .seguranca .experience-proposal-container .send-experience-button a:hover span,
  345 +.contrast .proposal-detail .educacao .make-proposal-container .seguranca .make-proposal-button a:hover span,
  346 +.contrast .proposal-detail .educacao .make-proposal-container .seguranca .send-proposal-button a:hover span,
  347 +.contrast .proposal-detail .educacao .make-proposal-container .seguranca .success-proposal-sent a:hover span,
  348 +.contrast .proposal-detail .educacao .experience-proposal-container .seguranca .send-experience-button a:hover span,
  349 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .seguranca .make-proposal-button a:hover span,
  350 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .seguranca .send-proposal-button a:hover span,
  351 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .seguranca .success-proposal-sent a:hover span,
  352 +.contrast .proposal-detail .reducao-da-pobreza .experience-proposal-container .seguranca .send-experience-button a:hover span,
  353 +.contrast .proposal-detail .seguranca input[type="submit"]:hover span,
  354 +.contrast .proposal-detail .seguranca .success-proposal-sent a:hover span,
  355 +.contrast .proposal-detail .educacao .container-button a:hover span,
  356 +.contrast .proposal-detail .saude .make-proposal-container .educacao .make-proposal-button a:hover span,
  357 +.contrast .proposal-detail .saude .make-proposal-container .educacao .send-proposal-button a:hover span,
  358 +.contrast .proposal-detail .saude .make-proposal-container .educacao .success-proposal-sent a:hover span,
  359 +.contrast .proposal-detail .saude .experience-proposal-container .educacao .send-experience-button a:hover span,
  360 +.contrast .proposal-detail .seguranca .make-proposal-container .educacao .make-proposal-button a:hover span,
  361 +.contrast .proposal-detail .seguranca .make-proposal-container .educacao .send-proposal-button a:hover span,
  362 +.contrast .proposal-detail .seguranca .make-proposal-container .educacao .success-proposal-sent a:hover span,
  363 +.contrast .proposal-detail .seguranca .experience-proposal-container .educacao .send-experience-button a:hover span,
  364 +.contrast .proposal-detail .educacao .make-proposal-container .make-proposal-button a:hover span,
  365 +.contrast .proposal-detail .educacao .make-proposal-container .send-proposal-button a:hover span,
  366 +.contrast .proposal-detail .educacao .make-proposal-container .success-proposal-sent a:hover span,
  367 +.contrast .proposal-detail .educacao .experience-proposal-container .send-experience-button a:hover span,
  368 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .educacao .make-proposal-button a:hover span,
  369 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .educacao .send-proposal-button a:hover span,
  370 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .educacao .success-proposal-sent a:hover span,
  371 +.contrast .proposal-detail .reducao-da-pobreza .experience-proposal-container .educacao .send-experience-button a:hover span,
  372 +.contrast .proposal-detail .educacao input[type="submit"]:hover span,
  373 +.contrast .proposal-detail .educacao .success-proposal-sent a:hover span,
  374 +.contrast .proposal-detail .saude .container-button a:hover span,
  375 +.contrast .proposal-detail .saude .make-proposal-container .make-proposal-button a:hover span,
  376 +.contrast .proposal-detail .saude .make-proposal-container .send-proposal-button a:hover span,
  377 +.contrast .proposal-detail .saude .make-proposal-container .success-proposal-sent a:hover span,
  378 +.contrast .proposal-detail .saude .experience-proposal-container .send-experience-button a:hover span,
  379 +.contrast .proposal-detail .seguranca .make-proposal-container .saude .make-proposal-button a:hover span,
  380 +.contrast .proposal-detail .seguranca .make-proposal-container .saude .send-proposal-button a:hover span,
  381 +.contrast .proposal-detail .seguranca .make-proposal-container .saude .success-proposal-sent a:hover span,
  382 +.contrast .proposal-detail .seguranca .experience-proposal-container .saude .send-experience-button a:hover span,
  383 +.contrast .proposal-detail .educacao .make-proposal-container .saude .make-proposal-button a:hover span,
  384 +.contrast .proposal-detail .educacao .make-proposal-container .saude .send-proposal-button a:hover span,
  385 +.contrast .proposal-detail .educacao .make-proposal-container .saude .success-proposal-sent a:hover span,
  386 +.contrast .proposal-detail .educacao .experience-proposal-container .saude .send-experience-button a:hover span,
  387 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .saude .make-proposal-button a:hover span,
  388 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .saude .send-proposal-button a:hover span,
  389 +.contrast .proposal-detail .reducao-da-pobreza .make-proposal-container .saude .success-proposal-sent a:hover span,
  390 +.contrast .proposal-detail .reducao-da-pobreza .experience-proposal-container .saude .send-experience-button a:hover span,
  391 +.contrast .proposal-detail .saude input[type="submit"]:hover span,
  392 +.contrast .proposal-detail .saude .success-proposal-sent a:hover span{
  393 + background: #fff url("images/airplane-contrast.png") no-repeat scroll left center !important;
  394 +}
  395 +
  396 +.contrast #proposal-category-saude a:hover{
  397 + background-image: url("images/icons/saude-contrast.png") !important;
  398 + background-repeat: no-repeat !important;
  399 + background-position: center 5px !important;
  400 +}
  401 +
  402 +.contrast #proposal-category-seguranca a:hover{
  403 + background-image: url("images/icons/seguranca-contrast.png") !important;
  404 + background-repeat: no-repeat !important;
  405 + background-position: center 5px !important;
  406 +}
  407 +
  408 +.contrast #proposal-category-educacao a:hover{
  409 + background-image: url("images/icons/educacao-contrast.png") !important;
  410 + background-repeat: no-repeat !important;
  411 + background-position: center 5px !important;
  412 +}
  413 +
  414 +.contrast #proposal-category-reducao-da-pobreza a:hover{
  415 + background-image: url("images/icons/reducao-da-pobreza-contrast.png") !important;
  416 + background-repeat: no-repeat !important;
  417 + background-position: center 5px !important;
  418 +}
  419 +
  420 +/*----------------------- ELEMENTOS REMOÇÃO DE BORDAS ---------------------- */
  421 +.contrast #proposal-category-saude a,
  422 +.contrast #proposal-category-seguranca a,
  423 +.contrast #proposal-category-educacao a,
  424 +.contrast #proposal-category-reducao-da-pobreza a,
  425 +.contrast .make-proposal #user_name,
  426 +.contrast .make-proposal #user_password,
  427 +.contrast .experience-proposal #user_name,
  428 +.contrast .experience-proposal #user_password,
  429 +.contrast .proposal-detail .saude .results-container .results-content,
  430 +.contrast .proposal-detail .educacao .results-container .results-content,
  431 +.contrast .proposal-detail .seguranca .results-container .results-content,
  432 +.contrast .proposal-detail .reducao-da-pobreza .results-container .results-content{
  433 + border: none !important;
  434 +
  435 +}
  436 +
  437 +/*----------------------- ELEMENTOS BACKGROUND 90% NEGRO ---------------------- */
  438 +.contrast nav li a,
  439 +.contrast .proposal-detail .categories select{
  440 + color: #fff !important;
  441 + background: #333 !important;
  442 +}
  443 +
  444 +
  445 +/*----------------------------------- IMAGENS --------------------------------- */
  446 +
  447 +.contrast .proposal-detail .saude .support-proposal-container .vote-actions .dislike,
  448 +.contrast .proposal-detail .educacao .support-proposal-container .vote-actions .dislike,
  449 +.contrast .proposal-detail .seguranca .support-proposal-container .vote-actions .dislike,
  450 +.contrast .proposal-detail .reducao-da-pobreza .support-proposal-container .vote-actions .dislike{
  451 + background-image: url("images/dislike-contrast.png") !important;
  452 +}
  453 +
  454 +.contrast .proposal-detail .saude .support-proposal-container .vote-actions .like,
  455 +.contrast .proposal-detail .educacao .support-proposal-container .vote-actions .like,
  456 +.contrast .proposal-detail .seguranca .support-proposal-container .vote-actions .like,
  457 +.contrast .proposal-detail .reducao-da-pobreza .support-proposal-container .vote-actions .like{
  458 + background-image: url("images/like-contrast.png") !important;
  459 +}
  460 +
  461 +.contrast .proposal-detail .saude .oauth > .facebook,
  462 +.contrast .proposal-detail .educacao .oauth > .facebook,
  463 +.contrast .proposal-detail .seguranca .oauth > .facebook,
  464 +.contrast .proposal-detail .reducao-da-pobreza .oauth > .facebook{
  465 + background: url("images/icon-facebook-contrast.png") no-repeat left top transparent !important;
  466 +}
  467 +
  468 +.contrast .proposal-detail .saude .oauth > .google,
  469 +.contrast .proposal-detail .educacao .oauth > .google,
  470 +.contrast .proposal-detail .seguranca .oauth > .google,
  471 +.contrast .proposal-detail .reducao-da-pobreza .oauth > .google{
  472 + background: url("images/icon-google-plus-contrast.png") no-repeat left top transparent !important;
  473 +}
  474 +
  475 +
  476 +
  477 +/*----------------------------------- ADIÇÃO DE BOLD --------------------------------- */
  478 +.contrast .saude .proposal-detail-base .go-to-proposal-button a,
  479 +.contrast .educacao .proposal-detail-base .go-to-proposal-button a,
  480 +.contrast .seguranca .proposal-detail-base .go-to-proposal-button a,
  481 +.contrast .reducao-da-pobreza .proposal-detail-base .go-to-proposal-button a{
  482 + font-weight: bold !important;
  483 +}
sass/_nav.scss
@@ -8,37 +8,33 @@ nav ul { @@ -8,37 +8,33 @@ nav ul {
8 padding: 0; 8 padding: 0;
9 margin: 0; 9 margin: 0;
10 width: 100%; 10 width: 100%;
  11 + font-size: 0;
  12 + list-style: none;
11 } 13 }
12 14
13 nav li { 15 nav li {
14 display: inline-block; 16 display: inline-block;
15 - list-style: none;  
16 padding: 0; 17 padding: 0;
17 margin: 0; 18 margin: 0;
18 width: 50%; 19 width: 50%;
19 - background: #03316f;  
20 - float: left;  
21 } 20 }
22 21
23 nav li a { 22 nav li a {
24 display: block; 23 display: block;
25 - width: 97.6%;  
26 - float: left;  
27 text-align: center; 24 text-align: center;
28 text-decoration: none; 25 text-decoration: none;
29 font-size: 16px; 26 font-size: 16px;
30 font-weight: bold; 27 font-weight: bold;
31 color: #fff; 28 color: #fff;
32 background: #03316f; 29 background: #03316f;
33 - margin: 1px 0.2% 0 0.2%;  
34 - padding: 20px 1%; 30 + padding: 20px 5px;
35 text-transform: uppercase; 31 text-transform: uppercase;
36 - border-bottom: 3px solid #001129; 32 + border-color: #03316f;
  33 + border-style: solid;
  34 + border-width: 1px 1px 0;
37 } 35 }
38 36
39 nav li a.active { 37 nav li a.active {
40 - position: relative;  
41 background: #fff; 38 background: #fff;
42 color: #03316f; 39 color: #03316f;
43 - border-bottom: 3px solid transparent;  
44 } 40 }
sass/_proposal_categories.scss
@@ -24,16 +24,15 @@ @@ -24,16 +24,15 @@
24 background-position: center 5px; 24 background-position: center 5px;
25 background-repeat: no-repeat; 25 background-repeat: no-repeat;
26 width: 140px; 26 width: 140px;
27 - height: 40px;  
28 display: inline-block; 27 display: inline-block;
29 font-size: 14px; 28 font-size: 14px;
30 - font-family: asap_bold, sans;  
31 - font-weight: bolder; 29 + font-family: 'Asap', sans;
  30 + font-weight: 700;
32 text-align: center; 31 text-align: center;
33 padding-top: 100px; 32 padding-top: 100px;
34 overflow: hidden; 33 overflow: hidden;
35 - border-width: 2px;  
36 - border-style: solid; 34 + // border-width: 2px;
  35 + // border-style: solid;
37 background-size: 90px; 36 background-size: 90px;
38 hover: { 37 hover: {
39 border-color: #fff !important; 38 border-color: #fff !important;
@@ -44,7 +43,8 @@ @@ -44,7 +43,8 @@
44 .category > li { 43 .category > li {
45 color: #FFFFFF; 44 color: #FFFFFF;
46 text-align: left; 45 text-align: left;
47 - font-family: asap_bold; 46 + font-family: 'Asap';
  47 + font-weight: 700;
48 font-size: 16px; 48 font-size: 16px;
49 padding: 5px 12px 5px 32px; 49 padding: 5px 12px 5px 32px;
50 margin-bottom: 10px; 50 margin-bottom: 10px;
@@ -76,9 +76,9 @@ @@ -76,9 +76,9 @@
76 margin: 0; 76 margin: 0;
77 color: #335277; 77 color: #335277;
78 text-align: left; 78 text-align: left;
79 - font-family: asap_bold; 79 + font-family: 'Asap';
  80 + font-weight: 700;
80 font-size: 18pt; 81 font-size: 18pt;
81 - font-weight: bold;  
82 text-decoration: none; 82 text-decoration: none;
83 } 83 }
84 84
sass/_proposal_detail.scss
@@ -237,7 +237,7 @@ @@ -237,7 +237,7 @@
237 border-color: $color; 237 border-color: $color;
238 } 238 }
239 textarea#article_abstract { 239 textarea#article_abstract {
240 - height: 205px; 240 + height: 15%;
241 } 241 }
242 .container-button a, input[type=submit], .success-proposal-sent a { 242 .container-button a, input[type=submit], .success-proposal-sent a {
243 font-weight: bolder; 243 font-weight: bolder;
@@ -289,7 +289,8 @@ @@ -289,7 +289,8 @@
289 .make-proposal-button{ 289 .make-proposal-button{
290 @extend .container-button; 290 @extend .container-button;
291 } 291 }
292 - .send-proposal-button, .success-proposal-sent { 292 + .send-proposal-button,
  293 + .success-proposal-sent {
293 @extend .container-button; 294 @extend .container-button;
294 a { 295 a {
295 position: absolute; 296 position: absolute;
@@ -378,8 +379,8 @@ @@ -378,8 +379,8 @@
378 .experience-proposal-container{ 379 .experience-proposal-container{
379 float: left; 380 float: left;
380 width: 50%; 381 width: 50%;
381 - height: $container-height;  
382 - min-height: $container-height; 382 + // height: $container-height;
  383 + // min-height: $container-height;
383 position: relative; 384 position: relative;
384 text-align: center; 385 text-align: center;
385 .experience-proposal{ 386 .experience-proposal{
@@ -396,12 +397,24 @@ @@ -396,12 +397,24 @@
396 .send-experience-button { 397 .send-experience-button {
397 @extend .container-button; 398 @extend .container-button;
398 } 399 }
  400 + .send-experience-button,
  401 + .success-experience-sent {
  402 + @extend .container-button;
  403 + a {
  404 + position: absolute;
  405 + left: 50%;
  406 + margin: 0;
  407 + margin-left: -30%;
  408 + bottom: 20px;
  409 + padding: 20px 0;
  410 + }
  411 + }
399 } 412 }
400 .talk-proposal-container{ 413 .talk-proposal-container{
401 width: 50%; 414 width: 50%;
402 float: left; 415 float: left;
403 - height: $container-height;  
404 - min-height: $container-height; 416 + // height: $container-height;
  417 + // min-height: $container-height;
405 position: relative; 418 position: relative;
406 text-align: center; 419 text-align: center;
407 .talk-proposal { 420 .talk-proposal {
@@ -520,6 +533,13 @@ @@ -520,6 +533,13 @@
520 533
521 } 534 }
522 } 535 }
  536 + .save-article-form {
  537 + .maxlength {
  538 + text-align: right;
  539 + margin-right: 36px;
  540 + font-size: 12px;
  541 + }
  542 + }
523 } 543 }
524 544
525 // @media only screen and (max-device-width: 480px) { 545 // @media only screen and (max-device-width: 480px) {
@@ -547,7 +567,7 @@ @@ -547,7 +567,7 @@
547 padding: 20px 0 !important; 567 padding: 20px 0 !important;
548 span { 568 span {
549 text-align: center !important; 569 text-align: center !important;
550 - margin: 0 20px !important; 570 + margin: 0 10px !important;
551 display: block !important; 571 display: block !important;
552 padding: 0 !important; 572 padding: 0 !important;
553 line-height: 1.2 !important; 573 line-height: 1.2 !important;
@@ -656,4 +676,4 @@ @@ -656,4 +676,4 @@
656 min-height: 0 !important; 676 min-height: 0 !important;
657 } 677 }
658 } 678 }
659 -}  
660 \ No newline at end of file 679 \ No newline at end of file
  680 +}
sass/_proposal_group.scss
@@ -11,8 +11,7 @@ @@ -11,8 +11,7 @@
11 11
12 #search-input-container, label[for=search] { 12 #search-input-container, label[for=search] {
13 width: 49%; 13 width: 49%;
14 - display: inline-block;  
15 - height: 80px; 14 + height: 80px;
16 vertical-align: middle; 15 vertical-align: middle;
17 overflow: hidden; 16 overflow: hidden;
18 } 17 }
sass/style.scss
1 -@font-face {  
2 - font-family: asap_bold_italic;  
3 - src: url(./fonts/Asap-BoldItalic.ttf);  
4 -}  
5 -  
6 -@font-face {  
7 - font-family: asap_bold;  
8 - src: url(./fonts/Asap-Bold.ttf);  
9 -}  
10 -  
11 -@font-face {  
12 - font-family: asap_italic;  
13 - src: url(./fonts/Asap-Italic.ttf);  
14 -}  
15 -  
16 -@font-face {  
17 - font-family: asap;  
18 - src: url(./fonts/Asap-Regular.ttf);  
19 -}  
20 -  
21 @import 'utilities/variables'; 1 @import 'utilities/variables';
22 2
23 @import 'nav'; 3 @import 'nav';
@@ -27,6 +7,7 @@ @@ -27,6 +7,7 @@
27 @import 'proposal_detail'; 7 @import 'proposal_detail';
28 @import 'login'; 8 @import 'login';
29 @import 'footer'; 9 @import 'footer';
  10 +@import 'accessibility';
30 11
31 @import 'proposal_detail/proposal-detail-base'; 12 @import 'proposal_detail/proposal-detail-base';
32 @import 'proposal_detail/urgencia-e-emergencia'; 13 @import 'proposal_detail/urgencia-e-emergencia';
@@ -51,11 +32,15 @@ h1 { @@ -51,11 +32,15 @@ h1 {
51 width: 100%; 32 width: 100%;
52 text-transform: uppercase; 33 text-transform: uppercase;
53 border-bottom: 1px solid #d6dcd7; 34 border-bottom: 1px solid #d6dcd7;
  35 + a {
  36 + text-decoration: none;
  37 + color: #03316f;
  38 + }
54 } 39 }
55 40
56 #proposal-result { 41 #proposal-result {
57 width: 90%; 42 width: 90%;
58 - margin: 0 auto; 43 + margin: 0 auto 40px auto;
59 } 44 }
60 45
61 #content { 46 #content {
@@ -114,3 +99,32 @@ form { @@ -114,3 +99,32 @@ form {
114 margin-top: 10px; 99 margin-top: 10px;
115 } 100 }
116 } 101 }
  102 +
  103 +// @TO_ADD: Leonardo
  104 +.btn {
  105 + display: inline-block;
  106 + padding: 6px 12px;
  107 + margin-bottom: 0;
  108 + font-size: 14px;
  109 + font-weight: 400;
  110 + line-height: 3.1;
  111 + text-align: center;
  112 + white-space: nowrap;
  113 + vertical-align: middle;
  114 + -ms-touch-action: manipulation;
  115 + touch-action: manipulation;
  116 + cursor: pointer;
  117 + -webkit-user-select: none;
  118 + -moz-user-select: none;
  119 + -ms-user-select: none;
  120 + user-select: none;
  121 + background-image: none;
  122 + border: 1px solid transparent;
  123 + /* border-radius: 4px; */
  124 +}
  125 +
  126 +.btn-default {
  127 + color: #333;
  128 + background-color: #fff;
  129 + border-color: #ccc;
  130 +}
117 \ No newline at end of file 131 \ No newline at end of file