Skip to content

Commit b99fa2b

Browse files
authored
fix: display voting rules in project index (#970)
* fix: update css to display voting rules on mobile * fix: override view to display voting rules when scrolling page * test: add system test to check voting rules displayed * feat: update css rules to show voting rules * feat: update js to display voting rules on mobile * style: update test with rubocop * fix: add keys to ignore missing * test: try fixing orders system test * fix: update js to still display rules after adding a project * test: update orders system test
1 parent d083cde commit b99fa2b

5 files changed

Lines changed: 885 additions & 1 deletion

File tree

‎app/packs/src/decidim/global_adjustments.js‎

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,27 @@ document.addEventListener("DOMContentLoaded", function () {
8787
});
8888
});
8989

90+
// dropdown for voting rules on mobile is open
91+
document.addEventListener("DOMContentLoaded", function () {
92+
const dropdown = document.querySelector('div#progress-summary-dropdown-menu')
93+
const addButtons = document.querySelectorAll('button.budget-list__action')
94+
const voteButton = document.querySelector('button[data-dialog-open="budget-confirm"]')
95+
96+
if (window.innerWidth <= 768 && dropdown){
97+
dropdown.setAttribute('aria-hidden', false);
98+
// when adding a project without achieving the minimum required
99+
if (voteButton.disabled === true && addButtons){
100+
addButtons.forEach((button) => {
101+
button.addEventListener('click', function () {
102+
setTimeout(() => {
103+
dropdown.setAttribute('aria-hidden', false)
104+
}, 1000);
105+
})
106+
})
107+
}
108+
}
109+
});
110+
90111
// --- Fixes regarding the surveys --- //
91112
document.addEventListener("DOMContentLoaded", () => {
92113
document.addEventListener("click", (e) => {
@@ -121,4 +142,4 @@ document.addEventListener("DOMContentLoaded", () => {
121142
});
122143
});
123144

124-
// ------ //
145+
// ------ //

‎app/packs/stylesheets/decidim/global_adjustments.scss‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,13 @@
2222
.main-bar__links-desktop__item-wrapper div:has(a[aria-label="Activité"]) {
2323
display: none;
2424
}
25+
/* show the rules to vote on budgets */
26+
@media (min-width: 769px) and (max-width: 1023px) {
27+
.budget-summary__progressbox--checked_out {
28+
display: block !important;
29+
}
30+
.budget-summary__progressbar {
31+
margin-top: 1rem !important;
32+
}
33+
}
34+
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<div data-order-progress-responsive="false" class="budget-summary__content">
2+
<%= render partial: "decidim/budgets/projects/order_progress_summary/progress_box" %>
3+
<%= render partial: "decidim/budgets/projects/order_progress_summary/progress_box_buttons" %>
4+
5+
<% if cell("decidim/budgets/budget_information_modal", budget).more_information.present? %>
6+
<div class="budget-summary__button-modal">
7+
<button type="button" data-dialog-open="budget-modal-info" aria-haspopup="dialog" tabindex="0" class="button button__text button__xs underline font-bold">
8+
<%= t("more_information", scope: "decidim.budgets.budget_information_modal") %>
9+
</button>
10+
</div>
11+
<% end %>
12+
13+
<div class="w-screen max-w-screen progressbox-fixed-wrapper" data-progressbox-fixed>
14+
<!-- added rules to vote on budgets -->
15+
<% if !current_order_checked_out? %>
16+
<div class="flex justify-center w-1/2 m-auto mt-4">
17+
<p class="budget-summary__progressbox--checked_out">
18+
<%= current_rule_description %>
19+
</p>
20+
</div>
21+
<% end %>
22+
<div class="gap-0 layout-item py-4 items-center budget-summary__progressbar">
23+
<%= render partial: "decidim/budgets/projects/order_progress_summary/progress_box_sticky" %>
24+
25+
<div class="layout-item__aside budget-summary__progressbox-buttons hidden lg:block">
26+
<% if !current_order_checked_out? && voting_open? %>
27+
<button class="button button__secondary button__lg mt-2 md:mt-0 w-full" data-dialog-open="budget-confirm" <%= budget_confirm_disabled_attr %>>
28+
<%= t("vote", scope: "decidim.budgets.projects.budget_summary") %>
29+
</button>
30+
<% end %>
31+
<% if current_order_checked_out? %>
32+
<%= link_to budget_order_path(return_to: "budget"), method: :delete, class: "button button__lg button__secondary cancel-order w-full mt-2 md:mt-0", data: { confirm: t("are_you_sure", scope: "decidim.budgets.projects.budget_confirm") } do %>
33+
<span><%= t("cancel_order", scope: "decidim.budgets.projects.budget_summary") %></span>
34+
<%= icon "delete-bin-line" %>
35+
<% end %>
36+
<% end %>
37+
</div>
38+
</div>
39+
</div>
40+
</div>

‎config/i18n-tasks.yml‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,11 @@ ignore_missing:
108108
- decidim.accessibility.logo
109109
- decidim.errors.not_found.back_home
110110
- layouts.decidim.announcements.*
111+
- decidim.budgets.budget_information_modal.more_information
112+
- decidim.budgets.projects.budget_summary.vote
113+
- decidim.budgets.projects.budget_summary.cancel_order
114+
- decidim.budgets.projects.budget_confirm.are_you_sure
115+
111116

112117
# Consider these keys used:
113118
ignore_unused:

0 commit comments

Comments
 (0)