diff --git a/app/assets/stylesheets/proposal.scss b/app/assets/stylesheets/proposal.scss index cbab50295..4ef0a20a6 100644 --- a/app/assets/stylesheets/proposal.scss +++ b/app/assets/stylesheets/proposal.scss @@ -168,11 +168,21 @@ } .support-indicator { - flex-grow: 2; + flex-grow: 3; + padding-left: 1rem; + padding-right: 1rem; + + .progress { + margin-bottom: 0; + } + + .progress-meter { + background-color: #ffac38; + } } .current-goal { - flex-grow: 1; + flex-grow: 0; } } diff --git a/app/controllers/dashboard/base_controller.rb b/app/controllers/dashboard/base_controller.rb index d60bf4d9c..ef408425a 100644 --- a/app/controllers/dashboard/base_controller.rb +++ b/app/controllers/dashboard/base_controller.rb @@ -1,7 +1,7 @@ class Dashboard::BaseController < ApplicationController before_action :authenticate_user! - helper_method :proposal, :proposed_actions, :resources + helper_method :proposal, :proposed_actions, :resource, :resources, :next_goal_supports, :next_goal_progress respond_to :html layout 'proposals_dashboard' @@ -19,4 +19,12 @@ class Dashboard::BaseController < ApplicationController def resources @resources ||= ProposalDashboardAction.resources.active_for(proposal) end + + def next_goal_supports + @next_goal_supports ||= ProposalDashboardAction.next_goal_for(proposal)&.required_supports || Setting["votes_for_proposal_success"] + end + + def next_goal_progress + @next_goal_progress ||= (proposal.votes_for.size * 100) / next_goal_supports.to_i + end end diff --git a/app/controllers/proposals_dashboard_controller.rb b/app/controllers/proposals_dashboard_controller.rb index 861a457bf..c597637af 100644 --- a/app/controllers/proposals_dashboard_controller.rb +++ b/app/controllers/proposals_dashboard_controller.rb @@ -1,5 +1,5 @@ class ProposalsDashboardController < Dashboard::BaseController - helper_method :proposal_dashboard_action, :next_goal_supports + helper_method :proposal_dashboard_action def index authorize! :dashboard, proposal @@ -61,8 +61,4 @@ class ProposalsDashboardController < Dashboard::BaseController def proposal_dashboard_action @proposal_dashboard_action ||= ProposalDashboardAction.find(params[:id]) end - - def next_goal_supports - ProposalDashboardAction.next_goal_for(proposal)&.required_supports || Setting["votes_for_proposal_success"] - end end diff --git a/app/views/layouts/dashboard/_proposal_totals.html.erb b/app/views/layouts/dashboard/_proposal_totals.html.erb index d2b76a4a3..3e63021e2 100644 --- a/app/views/layouts/dashboard/_proposal_totals.html.erb +++ b/app/views/layouts/dashboard/_proposal_totals.html.erb @@ -30,6 +30,13 @@
+
+ <%= next_goal_progress %>% +
+
" aria-valuemax="100"> +
+