|
1 | 1 | <% |
2 | | - selected_year = @yyyymm&.[](0, 4) |
3 | | - selected_month = @yyyymm&.[](4, 2) |
4 | | - years_with_months = @yyyymms.group_by {|yyyymm| yyyymm[0, 4] }.sort.reverse |
| 2 | + selected_year, selected_month = @yyyymm&.divmod 100 |
| 3 | + years_with_months = @yyyymms.group_by {|yyyymm| yyyymm / 100 }.sort.reverse |
5 | 4 | %> |
6 | 5 |
|
7 | 6 | <div class="mt-6 border border-gray-200 dark:border-gray-700 rounded-lg p-3 bg-white dark:bg-gray-800"> |
8 | 7 | <!-- Year tabs --> |
9 | 8 | <div class="flex gap-2 overflow-x-auto pb-2 mb-3 border-b border-gray-200 dark:border-gray-700"> |
10 | 9 | <% years_with_months.each do |year, months| %> |
11 | | - <%= link_to year, [@list, yyyymm: "#{year}#{months.sort.first[4, 2]}"], class: "px-3 py-1 text-sm font-medium rounded whitespace-nowrap transition-colors #{selected_year == year ? 'bg-red-600 dark:bg-red-500 text-white' : 'bg-gray-100 dark:bg-gray-900 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100'}" %> |
| 10 | + <%= link_to year, [@list, yyyymm: "#{year}#{'%02d' % months.sort.first.modulo(100)}"], class: "px-3 py-1 text-sm font-medium rounded whitespace-nowrap transition-colors #{selected_year == year ? 'bg-red-600 dark:bg-red-500 text-white' : 'bg-gray-100 dark:bg-gray-900 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100'}" %> |
12 | 11 | <% end %> |
13 | 12 | </div> |
14 | 13 |
|
15 | 14 | <!-- Month tabs --> |
16 | 15 | <% if selected_year %> |
17 | 16 | <div class="flex gap-1 flex-wrap"> |
18 | | - <% available_months = years_with_months.detect {|y, _| y == selected_year }&.last&.map {|yyyymm| yyyymm[4, 2] } || [] %> |
19 | | - <% ('01'..'12').each do |month| %> |
| 17 | + <% available_months = years_with_months.detect {|y, _| y == selected_year }&.last&.map {|yyyymm| yyyymm.modulo 100 } || [] %> |
| 18 | + <% (1..12).each do |month| %> |
20 | 19 | <% if available_months.include?(month) %> |
21 | | - <%= link_to month, [@list, yyyymm: "#{selected_year}#{month}"], class: "px-2 py-1 text-xs font-medium rounded transition-colors #{selected_month == month ? 'bg-red-600 dark:bg-red-500 text-white border-2 border-red-700 dark:border-red-400' : 'bg-gray-100 dark:bg-gray-900 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 border-2 border-transparent'}" %> |
| 20 | + <%= link_to month, [@list, yyyymm: "#{selected_year}#{'%02d' % month}"], class: "px-2 py-1 text-xs font-medium rounded transition-colors #{selected_month == month ? 'bg-red-600 dark:bg-red-500 text-white border-2 border-red-700 dark:border-red-400' : 'bg-gray-100 dark:bg-gray-900 text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 border-2 border-transparent'}" %> |
22 | 21 | <% else %> |
23 | 22 | <span class="px-2 py-1 text-xs font-medium rounded text-gray-300 dark:text-gray-600 border-2 border-transparent"><%= month %></span> |
24 | 23 | <% end %> |
|
0 commit comments