mirror of
https://github.com/we-promise/sure.git
synced 2026-05-25 05:24:57 +00:00
* Add period navigation arrows to reports view * Fix accessibility: render disabled next arrow as span instead of anchor * Add tests for period navigation arrows and localized strings * Refactor period navigation: move date logic to controller * Fix test assertions: tighten selectors and remove debug code * Redesign period navigation arrows to match budget screen style * custom period test assert next period * Add YTD tests and fix indentation in period navigation tests * Add period picker menu to reports navigation * Fix accessibility: use disabled button for next arrow * fix a test that was lost in the repos update * Use i18n for period navigation labels * Add accessible labels to period picker navigation links * Use i18n for quarter and YTD labels in period picker * Add accessible labels to active period navigation chevrons * Tighten custom period navigation test assertions * Add comment clarifying build_period_navigation dependency on setup_report_data * Replace link_to with DS::Link in period picker navigation Use Date#quarter instead of manual quarter calculation Remove border from month/quarter/year display in period picker
55 lines
2.1 KiB
Plaintext
55 lines
2.1 KiB
Plaintext
<%# locals: (family:, year:) %>
|
|
|
|
<%= turbo_frame_tag "budget_picker" do %>
|
|
<div class="p-3 space-y-4">
|
|
<div class="flex items-center gap-2 justify-between">
|
|
<% last_month_of_previous_year = Date.new(year - 1, 12, 1) %>
|
|
|
|
<% if Budget.budget_date_valid?(last_month_of_previous_year, family: family) %>
|
|
<%= link_to picker_budgets_path(year: year - 1), data: { turbo_frame: "budget_picker" }, class: "p-2 flex items-center justify-center hover:bg-alpha-black-25 rounded-md" do %>
|
|
<%= icon "chevron-left" %>
|
|
<% end %>
|
|
<% else %>
|
|
<span class="p-2 flex items-center justify-center text-subdued rounded-md">
|
|
<%= icon "chevron-left", color: "current" %>
|
|
</span>
|
|
<% end %>
|
|
|
|
<span class="w-40 text-center px-3 py-2">
|
|
<%= year %>
|
|
</span>
|
|
|
|
<% first_month_of_next_year = Date.new(year + 1, 1, 1) %>
|
|
|
|
<% if Budget.budget_date_valid?(first_month_of_next_year, family: family) %>
|
|
<%= link_to picker_budgets_path(year: year + 1), data: { turbo_frame: "budget_picker" }, class: "p-2 flex items-center justify-center hover:bg-alpha-black-25 rounded-md" do %>
|
|
<%= icon "chevron-right" %>
|
|
<% end %>
|
|
<% else %>
|
|
<span class="p-2 flex items-center justify-center text-subdued rounded-md">
|
|
<%= icon "chevron-right", color: "current" %>
|
|
</span>
|
|
<% end %>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-3 gap-2 text-sm text-center font-medium">
|
|
<% Date::ABBR_MONTHNAMES.compact.each do |month_name| %>
|
|
<% date = Date.strptime("#{month_name}-#{year}", "%b-%Y") %>
|
|
<% param_key = Budget.date_to_param(date) %>
|
|
|
|
<% if Budget.budget_date_valid?(date, family: family) %>
|
|
<%= render DS::Link.new(
|
|
variant: "ghost",
|
|
text: month_name,
|
|
href: budget_path(param_key),
|
|
full_width: true,
|
|
frame: :_top
|
|
) %>
|
|
<% else %>
|
|
<span class="px-3 py-2 text-subdued rounded-md"><%= month_name %></span>
|
|
<% end %>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
<% end %>
|