Extract budget subheader to a component

This commit is contained in:
Javi Martín
2021-03-09 19:26:03 +01:00
parent d912b80e74
commit 4896c754a0
5 changed files with 64 additions and 57 deletions

View File

@@ -0,0 +1,17 @@
.budget-subheader {
@include grid-row;
margin-bottom: $line-height;
margin-top: $line-height;
.current-phase {
text-transform: uppercase;
}
.button {
margin-top: $line-height / 2;
}
.callout {
margin-bottom: 0;
}
}

View File

@@ -1171,24 +1171,6 @@
}
}
.budget-subheader {
@include grid-row;
margin-bottom: $line-height;
margin-top: $line-height;
.current-phase {
text-transform: uppercase;
}
.button {
margin-top: $line-height / 2;
}
.callout {
margin-bottom: 0;
}
}
.jumbo-budget {
background: $budget;
border-bottom: 1px solid $budget;

View File

@@ -0,0 +1,38 @@
<div class="budget-subheader">
<div class="small-12 medium-8 column info">
<span class="current-phase"><strong><%= t("budgets.show.phase") %></strong></span>
<h2><%= budget.current_phase.name %></h2>
</div>
<div class="small-12 medium-4 column">
<% if budget.accepting? %>
<% if current_user %>
<% if current_user.level_two_or_three_verified? %>
<div class="text-right">
<%= link_to t("budgets.investments.index.sidebar.create"),
new_budget_investment_path(budget),
class: "button" %>
</div>
<% else %>
<div class="callout warning">
<%= sanitize(t("budgets.investments.index.sidebar.verified_only",
verify: link_to_verify_account)) %>
</div>
<% end %>
<% else %>
<div class="callout primary">
<%= sanitize(t("budgets.investments.index.sidebar.not_logged_in",
sign_in: link_to_signin, sign_up: link_to_signup)) %>
</div>
<% end %>
<% end %>
<% if can?(:read_results, budget) %>
<div class="text-right">
<%= link_to t("budgets.show.see_results"),
budget_results_path(budget, heading_id: budget.headings.first),
class: "button expanded" %>
</div>
<% end %>
</div>
</div>

View File

@@ -0,0 +1,8 @@
class Budgets::SubheaderComponent < ApplicationComponent
delegate :current_user, :link_to_signin, :link_to_signup, :link_to_verify_account, :can?, to: :helpers
attr_reader :budget
def initialize(budget)
@budget = budget
end
end

View File

@@ -21,45 +21,7 @@
</div>
</div>
<div class="budget-subheader">
<div class="small-12 medium-8 column info">
<span class="current-phase"><strong><%= t("budgets.show.phase") %></strong></span>
<h2><%= current_budget.current_phase.name %></h2>
</div>
<div class="small-12 medium-4 column">
<% if current_budget.accepting? %>
<% if current_user %>
<% if current_user.level_two_or_three_verified? %>
<div class="text-right">
<%= link_to t("budgets.investments.index.sidebar.create"),
new_budget_investment_path(current_budget),
class: "button" %>
</div>
<% else %>
<div class="callout warning">
<%= sanitize(t("budgets.investments.index.sidebar.verified_only",
verify: link_to_verify_account)) %>
</div>
<% end %>
<% else %>
<div class="callout primary">
<%= sanitize(t("budgets.investments.index.sidebar.not_logged_in",
sign_in: link_to_signin, sign_up: link_to_signup)) %>
</div>
<% end %>
<% end %>
<% if can?(:read_results, current_budget) %>
<div class="text-right">
<%= link_to t("budgets.show.see_results"),
budget_results_path(current_budget, heading_id: current_budget.headings.first),
class: "button expanded" %>
</div>
<% end %>
</div>
</div>
<%= render Budgets::SubheaderComponent.new(current_budget) %>
<%= render Budgets::PhasesComponent.new(current_budget) %>
<div id="budget_info" class="budget-info">