|
7 | 7 | <% end %> |
8 | 8 |
|
9 | 9 | <div class="mb-4 border border-gray-200 dark:border-gray-700 rounded-lg p-3 bg-white dark:bg-gray-800"> |
10 | | - <% @yyyymms.group_by {|yyyymm| yyyymm[0, 4] }.sort.each do |year, months| %> |
11 | | - <div class="flex gap-1 items-center mb-1"> |
12 | | - <span class="text-sm font-medium text-gray-700 dark:text-gray-300 w-12"><%= year %>:</span> |
13 | | - <div class="flex gap-1 flex-wrap"> |
14 | | - <% months.sort.each do |yyyymm| %> |
15 | | - <%= link_to [@list, yyyymm: yyyymm], class: "px-2 py-1 text-xs font-medium rounded transition-colors #{@yyyymm == yyyymm ? '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'}" do %> |
16 | | - <%= yyyymm[4..] %> |
17 | | - <% end %> |
| 10 | + <% |
| 11 | + selected_year = @yyyymm&.[](0, 4) |
| 12 | + selected_month = @yyyymm&.[](4, 2) |
| 13 | + years_with_months = @yyyymms.group_by {|yyyymm| yyyymm[0, 4] }.sort.reverse |
| 14 | + %> |
| 15 | + |
| 16 | + <!-- Year tabs --> |
| 17 | + <div class="flex gap-2 overflow-x-auto pb-2 mb-3 border-b border-gray-200 dark:border-gray-700"> |
| 18 | + <% years_with_months.each do |year, months| %> |
| 19 | + <%= 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'}" %> |
| 20 | + <% end %> |
| 21 | + </div> |
| 22 | + |
| 23 | + <!-- Month tabs --> |
| 24 | + <% if selected_year %> |
| 25 | + <div class="flex gap-1 flex-wrap"> |
| 26 | + <% available_months = years_with_months.detect {|y, _| y == selected_year }&.last&.map {|yyyymm| yyyymm[4, 2] } || [] %> |
| 27 | + <% ('01'..'12').each do |month| %> |
| 28 | + <% if available_months.include?(month) %> |
| 29 | + <%= 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'}" %> |
| 30 | + <% else %> |
| 31 | + <span class="px-2 py-1 text-xs font-medium rounded text-gray-300 dark:text-gray-600 border-2 border-transparent"><%= month %></span> |
18 | 32 | <% end %> |
19 | | - </div> |
| 33 | + <% end %> |
20 | 34 | </div> |
21 | 35 | <% end %> |
22 | 36 | </div> |
|
0 commit comments