<%= content_for :header_nav do %> <%= render "budgets/budget_nav", budget: @budget %> <% end %> <%= content_for :previous_path, edit_budget_path(@budget) %> <%= content_for :cancel_path, budget_path(@budget) %>

Edit your category budgets

Adjust category budgets to set spending limits. Unallocated funds will be automatically assigned as uncategorized.

<% if @budget.family.categories.empty? %>
<%= render "budget_categories/no_categories" %>
<% else %>
<% if @budget.available_to_allocate.negative? %> <%= render "budget_categories/allocation_progress_overage", budget: @budget %> <% else %> <%= render "budget_categories/allocation_progress", budget: @budget %> <% end %>
<% BudgetCategory::Group.for(@budget.budget_categories).sort_by(&:name).each do |group| %>
<%= render "budget_categories/budget_category_form", budget_category: group.budget_category %>
<% group.budget_subcategories.each do |budget_subcategory| %>
<%= lucide_icon "corner-down-right", class: "w-5 h-5 shrink-0" %>
<%= render "budget_categories/budget_category_form", budget_category: budget_subcategory %>
<% end %>
<% end %> <%= render "budget_categories/uncategorized_budget_category_form", budget: @budget %>
<% if @budget.allocations_valid? %> <%= link_to "Confirm", budget_path(@budget), class: "block btn btn--primary w-full text-center" %> <% else %> Confirm <% end %>
<% end %>