diff --git a/app/assets/images/help/help_icon_budgets.png b/app/assets/images/help/help_icon_budgets.png new file mode 100644 index 000000000..f8a909d7e Binary files /dev/null and b/app/assets/images/help/help_icon_budgets.png differ diff --git a/app/assets/images/help/help_icon_debates.png b/app/assets/images/help/help_icon_debates.png new file mode 100644 index 000000000..c8d59e4c1 Binary files /dev/null and b/app/assets/images/help/help_icon_debates.png differ diff --git a/app/assets/images/help/help_icon_legislation_processes.png b/app/assets/images/help/help_icon_legislation_processes.png new file mode 100644 index 000000000..9dd93ad8c Binary files /dev/null and b/app/assets/images/help/help_icon_legislation_processes.png differ diff --git a/app/assets/images/help/help_icon_polls.png b/app/assets/images/help/help_icon_polls.png new file mode 100644 index 000000000..503f8642d Binary files /dev/null and b/app/assets/images/help/help_icon_polls.png differ diff --git a/app/assets/images/help/help_icon_proposals.png b/app/assets/images/help/help_icon_proposals.png new file mode 100644 index 000000000..05861d042 Binary files /dev/null and b/app/assets/images/help/help_icon_proposals.png differ diff --git a/app/assets/stylesheets/layout.scss b/app/assets/stylesheets/layout.scss index c2f872526..7f6f44001 100644 --- a/app/assets/stylesheets/layout.scss +++ b/app/assets/stylesheets/layout.scss @@ -318,6 +318,10 @@ a { background: $brand; } +.align-top { + vertical-align: top; +} + // 02. Header // ---------- diff --git a/app/assets/stylesheets/participation.scss b/app/assets/stylesheets/participation.scss index be5cb4a7c..38a9fb2f8 100644 --- a/app/assets/stylesheets/participation.scss +++ b/app/assets/stylesheets/participation.scss @@ -875,6 +875,20 @@ } } +.help-link { + margin-left: $line-height; + position: relative; + + &::before { + color: $link; + content: '\4e'; + font-family: 'icons'; + position: absolute; + left: -24px; + top: -2px; + } +} + // 05. Featured // ------------ @@ -1481,13 +1495,9 @@ .poll, .poll-question { - background: #fff; - border-radius: rem-calc(6); + border: 1px solid $border; margin-bottom: $line-height / 2; -} - -.poll { - padding: $line-height; + padding: $line-height / 2; position: relative; .icon-poll-answer { diff --git a/app/views/budgets/index.html.erb b/app/views/budgets/index.html.erb index 9f5ab0ab2..494568706 100644 --- a/app/views/budgets/index.html.erb +++ b/app/views/budgets/index.html.erb @@ -1,14 +1,9 @@ +<% provide :title do %><%= t('budgets.index.title') %><% end %> <% content_for :canonical do %> <%= render "shared/canonical", href: budgets_url %> <% end %> -
-
-
-

<%= t('budgets.index.title') %>

-
-
-
+<%= render "shared/section_header", i18n_namespace: "budgets.index.section_header", image: "budgets" %>
@@ -32,5 +27,16 @@ <% end %> + +
+

+ <%= t("budgets.index.section_footer.title") %> +

+

<%= t("budgets.index.section_footer.help_text_1") %>

+

<%= t("budgets.index.section_footer.help_text_2") %>

+

<%= t("budgets.index.section_footer.help_text_3", + org: link_to(setting['org_name'], new_user_registration_path)).html_safe %>

+

<%= t("budgets.index.section_footer.help_text_4") %>

+
diff --git a/app/views/debates/index.html.erb b/app/views/debates/index.html.erb index b6356ffb2..28a5a69bd 100644 --- a/app/views/debates/index.html.erb +++ b/app/views/debates/index.html.erb @@ -9,8 +9,6 @@ <% end %>
-

<%= t("shared.outline.debates") %>

- <% if @search_terms || @advanced_search_terms || @tag_filter %>
@@ -33,6 +31,8 @@
+ <% else %> + <%= render "shared/section_header", i18n_namespace: "debates.index.section_header", image: "debates" %> <% end %>
@@ -56,6 +56,21 @@ <%= render @debates %> <%= paginate @debates %> + + <% unless @search_terms || @advanced_search_terms || @tag_filter %> +
+

+ <%= t("debates.index.section_footer.title") %> +

+

<%= t("debates.index.section_footer.help_text_1") %>

+

<%= t("debates.index.section_footer.help_text_2", + org: link_to(setting['org_name'], new_user_registration_path)).html_safe %>

+

<%= t("debates.index.section_footer.help_text_3", + proposal: link_to(t("debates.index.section_footer.proposals_link"), proposals_path), + budget: link_to(t("debates.index.section_footer.budget_link"), budgets_path)).html_safe %> +

+
+ <% end %>
diff --git a/app/views/legislation/processes/index.html.erb b/app/views/legislation/processes/index.html.erb index b9afd5f59..063e4048f 100644 --- a/app/views/legislation/processes/index.html.erb +++ b/app/views/legislation/processes/index.html.erb @@ -2,12 +2,13 @@ <%= t("layouts.header.collaborative_legislation") %> - <%= t("legislation.processes.index.filters.#{@current_filter}") %> <% end %> -
-
- <%= render 'shared/filter_subnav', i18n_namespace: "legislation.processes.index" %> -
+<%= render "shared/section_header", i18n_namespace: "legislation.processes.index.section_header", image: "legislation_processes" %> +
+ + <%= render 'shared/filter_subnav', i18n_namespace: "legislation.processes.index" %> +
<% if @processes.any? %> <%= render @processes %> @@ -17,6 +18,16 @@ <%= t(".no_#{@current_filter}_processes") %>
<% end %> + +
+

+ <%= t("legislation.processes.index.section_footer.title") %> +

+

<%= t("legislation.processes.index.section_footer.help_text_1") %>

+

<%= t("legislation.processes.index.section_footer.help_text_2", + org: setting['org_name']) %>

+

<%= t("legislation.processes.index.section_footer.help_text_3") %>

+
diff --git a/app/views/polls/index.html.erb b/app/views/polls/index.html.erb index 71cd2492a..55cdae8e2 100644 --- a/app/views/polls/index.html.erb +++ b/app/views/polls/index.html.erb @@ -1,23 +1,14 @@ <% provide :title do %><%= t("polls.index.title") %><% end %> -<% content_for :wrapper_class, "light" %> <% content_for :canonical do %> <%= render "shared/canonical", href: polls_url %> <% end %> -
-
-
-

<%= t("polls.index.title") %>

-
-
-
+<%= render "shared/section_header", i18n_namespace: "polls.index.section_header", image: "polls" %>
-
- <%= render 'shared/filter_subnav_vertical', i18n_namespace: "polls.index" %> -
+
+ <%= render 'shared/filter_subnav', i18n_namespace: "polls.index" %> -
<% polls_by_geozone_restriction = @polls.group_by(&:geozone_restricted) %> <% if polls_by_geozone_restriction[false].present? %> @@ -31,5 +22,15 @@ <% end %> <%= paginate @polls %> + +
+

+ <%= t("polls.index.section_footer.title") %> +

+

<%= t("polls.index.section_footer.help_text_1") %>

+

<%= t("polls.index.section_footer.help_text_2", + org: link_to(setting['org_name'], new_user_registration_path)).html_safe %>

+

+
diff --git a/app/views/polls/show.html.erb b/app/views/polls/show.html.erb index 27c241d6f..02ab70525 100644 --- a/app/views/polls/show.html.erb +++ b/app/views/polls/show.html.erb @@ -1,5 +1,4 @@ <% provide :title do %><%= @poll.name %><% end %> -<% content_for :wrapper_class, "light" %>
diff --git a/app/views/proposals/index.html.erb b/app/views/proposals/index.html.erb index 40cce19c1..072d88ccb 100644 --- a/app/views/proposals/index.html.erb +++ b/app/views/proposals/index.html.erb @@ -9,8 +9,6 @@ <% end %>
-

<%= t("shared.outline.proposals") %>

- <% if @search_terms || @advanced_search_terms || @tag_filter || params[:retired].present? %>
@@ -35,6 +33,8 @@
+ <% else %> + <%= render "shared/section_header", i18n_namespace: "proposals.index.section_header", image: "proposals" %> <% end %>
@@ -70,6 +70,18 @@
<%= render partial: 'proposals/proposal', collection: @proposals %> <%= paginate @proposals %> + + <% unless @search_terms || @advanced_search_terms || @tag_filter %> +
+

+ <%= t("proposals.index.section_footer.title") %> +

+

<%= t("proposals.index.section_footer.help_text_1") %>

+

<%= t("proposals.index.section_footer.help_text_2", + org: link_to(setting['org_name'], new_user_registration_path)).html_safe %>

+

<%= t("proposals.index.section_footer.help_text_3") %>

+
+ <% end %>
diff --git a/app/views/shared/_section_header.html.erb b/app/views/shared/_section_header.html.erb new file mode 100644 index 000000000..29688b487 --- /dev/null +++ b/app/views/shared/_section_header.html.erb @@ -0,0 +1,10 @@ +
+
+
+ <%= image_tag "help/help_icon_#{image}.png", alt: t("#{i18n_namespace}.icon_alt"), class: "align-top" %> +

<%= t("#{i18n_namespace}.title") %>

+

<%= t("#{i18n_namespace}.description") %>

+ <%= link_to t("#{i18n_namespace}.help"), "#section_help", class: "help-link" %> +
+
+
diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml index ee992ca2b..cc289ba3c 100644 --- a/config/i18n-tasks.yml +++ b/config/i18n-tasks.yml @@ -114,6 +114,7 @@ ignore_missing: ignore_unused: - 'budgets.phase.*' - 'budgets.investments.index.orders.*' + - 'budgets.index.section_header.*' - 'activerecord.*' - 'activemodel.*' - 'unauthorized.*' @@ -148,16 +149,20 @@ ignore_unused: - 'valuation.budget_investments.index.filter*' - 'users.show.filters.*' - 'polls.index.filters.*' + - 'polls.index.section_header.*' - 'debates.index.select_order' - 'debates.index.orders.*' + - 'debates.index.section_header.*' - 'proposals.index.select_order' - 'proposals.index.orders.*' + - 'proposals.index.section_header.*' - 'spending_proposals.index.search_form.*' - '*.index.search_form.*' - 'notifications.index.comments_on*' - 'notifications.index.replies_to*' - 'notifications.index.proposal_notification*' - 'legislation.processes.index.filter*' + - 'legislation.processes.index.section_header.*' - 'helpers.page_entries_info.*' # kaminari - 'views.pagination.*' # kaminari - 'shared.suggest.*' diff --git a/config/locales/en/budgets.yml b/config/locales/en/budgets.yml index a6b9fbc19..59406499f 100644 --- a/config/locales/en/budgets.yml +++ b/config/locales/en/budgets.yml @@ -38,6 +38,17 @@ en: finished: Finished budget index: title: Participatory budgets + section_header: + icon_alt: Participatory budgets icon + title: Participatory budgets + description: With the participatory budgets the citizens decide to which projects presented by the neighbors is destined a part of the municipal budget. + help: Help about participatory budgets + section_footer: + title: Help about participatory budgets + help_text_1: "Participatory budgets are processes in which citizens decide directly on what is spent part of the municipal budget. Any registered person over 16 years old can propose an investment project that is preselected in a phase of citizen supports." + help_text_2: "The most voted projects are evaluated and passed to a final vote in which they decide the actions to be carried out by the City Council once the municipal budgets of the next year are approved." + help_text_3: "The presentation of participatory budgeting projects takes place from January and over a period of one and a half months. To participate and propose proposals for the entire city and / or districts, you must sign up on %{org} and verify your account." + help_text_4: "To get as many supports and votes as possible, choose a descriptive and understandable headline for your project. Then you have a space to develop the approach of your proposal. Provide all the data and explanations, and even documents and images, to help other participants to better understand what you are proposing." investments: form: tag_category_label: "Categories" diff --git a/config/locales/en/general.yml b/config/locales/en/general.yml index 24d72cfb8..397664cba 100644 --- a/config/locales/en/general.yml +++ b/config/locales/en/general.yml @@ -118,6 +118,18 @@ en: select_order: Order by start_debate: Start a debate title: Debates + section_header: + icon_alt: Debates icon + title: Debates + description: Start a debate to share opinions with others about the topics you are concerned about. + help: Help about debates + section_footer: + title: Help about debates + help_text_1: "The space for citizen debates is aimed at anyone who can expose issues of their concern and those who want to share opinions with other people." + help_text_2: 'To open a debate you need to sign up on %{org}. Users can also comment on open debates and rate them with the "I agree" or "I disagree" buttons found in each of them.' + help_text_3: "Keep in mind that a debate does not start any specific action. If you want to make a %{proposal} for the city or raise a investment project of %{budget} when the phase is open, go to the corresponding section." + proposals_link: proposal + budget_link: participatory budgeting new: form: submit_button: Start a debate @@ -350,6 +362,16 @@ en: title: Proposals top: Top weekly top_link_proposals: The most supported proposals by category + section_header: + icon_alt: Proposals icon + title: Proposals + description: Make a citizen proposal. If it gets enough supports it will go to voting phase, so you can get all the citizens to decide how they want their city to be. + help: Help about proposals + section_footer: + title: Help about proposals + help_text_1: "The citizen proposals are an opportunity for neighbours and collectives to decide directly how they want to shape their city. Any person can make a proposal about a topic or concern of their interest, for the City Council to make it, after it gets enough supports to be put to a citizens vote." + help_text_2: "To create a proposal, you must sign up on %{org}. The proposals that get the support of 1% of the users in the web, goes to voting phase. To support proposals it is necessary to have a verified account." + help_text_3: "A citizen vote is celebrated when the proposals get the necessary supports. Once celebrated, if there are more people in favor than against, the City Council assumes the proposal and carries it out." new: form: submit_button: Create proposal @@ -432,6 +454,15 @@ en: cant_answer_not_logged_in: "You must sign in or sign up to participate" cant_answer_verify: "You must verify your account in order to answer" already_answer: "You already have participated in this poll" + section_header: + icon_alt: Voting icon + title: Voting + description: Sign up to vote on citizen proposals and questions the City Council ask to the neighbors. Make municipal decisions directly. + help: Help about voting + section_footer: + title: Help about voting + help_text_1: "Voting takes place when a citizen proposal supports reaches 1% of the census with voting rights. Voting can also include questions that the City Council ask to the citizens decision." + help_text_2: "To participate in the next vote you have to sign up on %{org} and verify your account. All registered voters in the city over 16 years old can vote. The results of all votes are binding on the government." show: dates_title: "Participation dates" cant_answer_not_logged_in: "You must %{signin} or %{signup} to participate." @@ -555,8 +586,6 @@ en: unfollow: "Unfollow" unfollow_entity: "Unfollow %{entity}" outline: - debates: Debates - proposals: Proposals budget: Participatory budget searcher: Searcher go_to_page: "Go to page of " diff --git a/config/locales/en/legislation.yml b/config/locales/en/legislation.yml index 793341bac..4c5350e8b 100644 --- a/config/locales/en/legislation.yml +++ b/config/locales/en/legislation.yml @@ -64,6 +64,16 @@ en: no_open_processes: There aren't open processes no_next_processes: There aren't planned processes no_past_processes: There aren't past processes + section_header: + icon_alt: Legislation processes icon + title: Legislation processes + description: Participate in the debates and processes prior to the approval of a ordinance or a municipal action. Your opinion will be consider by the City Council. + help: Help about legislation processes + section_footer: + title: Help about legislation processes + help_text_1: "In participatory processes, the City Council offers to its citizens the opportunity to participate in the drafting and modification of regulations, affecting the city and to be able to give their opinion on certain actions that it plans to carry out." + help_text_2: "People registered in %{org} can participate with contributions in the public consultation of new ordinances, regulations and guidelines, among others. Your comments are analyzed by the corresponding area and considered for the final drafting of the ordinances." + help_text_3: "The City Council also opens processes to receive contributions and opinions on municipal actions." phase_not_open: not_open: This phase is not open yet phase_empty: diff --git a/config/locales/es/budgets.yml b/config/locales/es/budgets.yml index 6d80f0a51..cc6b27e2f 100644 --- a/config/locales/es/budgets.yml +++ b/config/locales/es/budgets.yml @@ -38,6 +38,17 @@ es: finished: Resultados index: title: Presupuestos participativos + section_header: + icon_alt: Icono de Presupuestos participativos + title: Presupuestos participativos + description: Con los presupuestos participativos la ciudadanía decide a qué proyectos presentados por los vecinos y vecinas va destinada una parte del presupuesto municipal. + help: Ayuda sobre presupuestos participativos + section_footer: + title: Ayuda sobre presupuestos participativos + help_text_1: "Los presupuestos participativos son unos procesos en los que la ciudadanía decide de forma directa en qué se gasta una parte del presupuesto municipal. Cualquier persona empadronada mayor de 16 años puede proponer un proyecto de gasto que se preselecciona en una fase de apoyos ciudadanos." + help_text_2: "Los proyectos más votados se evalúan y pasan a una votación final en la que se deciden las actuaciones que llevará a cabo el Ayuntamiento una vez se aprueben los presupuestos municipales del año próximo." + help_text_3: "La presentación de proyectos de presupuestos participativos se lleva a cabo desde enero y a lo largo de un periodo de mes y medio, aproximadamente. Para participar y plantear propuestas para toda la ciudad y/ los distritos hay que registrarse en %{org} y verificar la cuenta." + help_text_4: "Para conseguir el mayor número de apoyos y votos posible, elige un titular descriptivo y comprensible de tu proyecto. Después tienes un espacio para desarrollar el planteamiento de tu propuesta. Aporta todos los datos y explicaciones, e incluso documentos e imágenes, para ayudar a otras personas participantes a entender mejor lo que planteas." investments: form: tags_instructions: "Etiqueta esta propuesta. Puedes elegir entre las categorías propuestas o introducir las que desees" diff --git a/config/locales/es/general.yml b/config/locales/es/general.yml index ee64c92dc..19d09778e 100644 --- a/config/locales/es/general.yml +++ b/config/locales/es/general.yml @@ -118,6 +118,18 @@ es: select_order: Ordenar por start_debate: Empieza un debate title: Debates + section_header: + icon_alt: Icono de Debates + title: Debates + description: Inicia un debate para compartir puntos de vista con otras personas sobre los temas que te preocupan. + help: Ayuda sobre los debates + section_footer: + title: Ayuda sobre los debates + help_text_1: "El espacio de debates ciudadanos está dirigido a que cualquier persona pueda exponer temas que le preocupan y sobre los que quiera compartir puntos de vista con otras personas." + help_text_2: 'Para abrir un debate es necesario registrarse en %{org}. Los usuarios ya registrados también pueden comentar los debates abiertos y valorarlos con los botones de "Estoy de acuerdo" o "No estoy de acuerdo" que se encuentran en cada uno de ellos.' + help_text_3: "Ten en cuenta que un debate no activa ningún mecanismo de actuación concreto. Si quieres hacer una %{proposal} para la ciudad o plantear un proyecto de %{budget} cuando se abra la convocatoria, ve a la sección correspondiente." + proposals_link: propuesta + budget_link: presupuestos participativos new: form: submit_button: Empieza un debate @@ -350,6 +362,16 @@ es: title: Propuestas ciudadanas top: Top semanal top_link_proposals: Propuestas más apoyadas por categoría + section_header: + icon_alt: Icono de Propuestas + title: Propuestas + description: Haz una propuesta ciudadana. Si obtiene los apoyos suficientes y pasa a votación, puedes conseguir que todos los habitantes decidan cómo quieren que sea nuestra ciudad. + help: Ayuda sobre las propuestas + section_footer: + title: Ayuda sobre las propuestas + help_text_1: "Las propuestas ciudadanas son una oportunidad para que los vecinos y colectivos decidan directamente cómo quieren que sea su ciudad. Cualquier persona puede hacer una propuesta sobre un tema que le interese o preocupe para que el ayuntamiento la lleve a cabo, después de conseguir los apoyos suficientes y de someterse a votación ciudadana." + help_text_2: "Para crear una propuesta hay que registrarse en %{org}. Las propuestas que consigan el apoyo del 1% de la gente en la web, pasan a votación. Para apoyar propuestas es necesario tener una cuenta verificada." + help_text_3: "Se convoca una votación ciudadana cuando las propuestas consiguen los apoyos necesarios. Una vez celebrada, si hay más gente a favor que en contra, el Consistorio asume la propuesta y la lleva a cabo." new: form: submit_button: Crear propuesta @@ -432,6 +454,15 @@ es: cant_answer_not_logged_in: "Necesitas iniciar sesión o registrarte para participar" cant_answer_verify: "Por favor verifica tu cuenta para poder responder" already_answer: "Ya has participado en esta votación" + section_header: + icon_alt: Icono de Votaciones + title: Votaciones + description: Regístrate para poder votar propuestas ciudadanas y las cuestiones que pregunta a sus vecinos el Ayuntamiento. Toma decisiones municipales de forma directa. + help: Ayuda sobre las votaciones + section_footer: + title: Ayuda sobre las votaciones + help_text_1: "Las votaciones se convocan cuando una propuesta ciudadana alcanza el 1% de apoyos del censo con derecho a voto. En las votaciones también se pueden incluir cuestiones que el Ayuntamiento somete a decisión directa de la ciudadanía." + help_text_2: "Para participar en la próxima votación tienes que registrarte en %{org} y verificar tu cuenta. Pueden votar todas las personas empadronadas en la ciudad mayores de 16 años. Los resultados de todas las votaciones serán vinculantes para el gobierno." show: dates_title: "Fechas de participación" cant_answer_not_logged_in: "Necesitas %{signin} o %{signup} para participar." @@ -555,8 +586,6 @@ es: unfollow: Dejar de seguir unfollow_entity: "Dejar de seguir %{entity}" outline: - debates: Debates - proposals: Propuestas budget: Presupuestos participativos searcher: Buscador go_to_page: "Ir a la página de " diff --git a/config/locales/es/legislation.yml b/config/locales/es/legislation.yml index 59ed9b64c..c8cca657e 100644 --- a/config/locales/es/legislation.yml +++ b/config/locales/es/legislation.yml @@ -64,6 +64,16 @@ es: no_open_processes: No hay procesos activos no_next_processes: No hay procesos planeados no_past_processes: No hay procesos terminados + section_header: + icon_alt: Icono de Procesos legislativos + title: Procesos legislativos + description: Participa en los debates y procesos previos a la aprobación de una norma o de una actuación municipal. Tu opinión será tenida en cuenta por el Ayuntamiento. + help: Ayuda sobre procesos legislativos + section_footer: + title: Ayuda sobre procesos legislativos + help_text_1: "En los procesos participativos, el Ayuntamiento ofrece a la ciudadanía la oportunidad de participar en la elaboración y modificación de normativa que afecta a la ciudad y de dar su opinión sobre ciertas actuaciones que tiene previsto llevar a cabo." + help_text_2: "Las personas registradas en %{org} pueden participar con aportaciones en la consulta pública de nuevas ordenanzas, reglamentos y directrices, entre otros. Sus comentarios son analizados por el área correspondiente y tenidos en cuenta de cara a la redacción final de las normas." + help_text_3: "El Ayuntamiento también abre procesos para recibir aportaciones y opiniones sobre actuaciones municipales." phase_not_open: not_open: Esta fase del proceso todavía no está abierta phase_empty: