La scelta della lista passa da un wizard a tre passi, con anteprima del conteggio e lista congelata solo dopo la conferma. Co-authored-by: Cursor <cursoragent@cursor.com>
23 lines
1.2 KiB
ERB
23 lines
1.2 KiB
ERB
<%# locals: name:, title:, hint:, open:, count: 0 %>
|
|
<details data-section="<%= name %>" class="<%= card_class %> group" <%= "open" if open %>>
|
|
<summary class="flex cursor-pointer list-none items-center justify-between gap-3 p-4 md:px-6 [&::-webkit-details-marker]:hidden">
|
|
<div>
|
|
<div class="text-sm font-semibold"><%= title %></div>
|
|
<% if hint.present? %>
|
|
<p class="mt-0.5 text-xs text-zinc-500"><%= hint %></p>
|
|
<% end %>
|
|
</div>
|
|
<div class="flex shrink-0 items-center gap-2">
|
|
<% if count.to_i.positive? %>
|
|
<span class="rounded-full bg-zinc-900 px-2 py-0.5 text-xs font-medium text-white dark:bg-zinc-100 dark:text-zinc-900"><%= count %></span>
|
|
<% end %>
|
|
<svg class="size-4 text-zinc-400 transition group-open:rotate-180" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M5.23 7.21a.75.75 0 0 1 1.06.02L10 10.94l3.71-3.71a.75.75 0 1 1 1.06 1.06l-4.24 4.24a.75.75 0 0 1-1.06 0L5.21 8.29a.75.75 0 0 1 .02-1.08Z" clip-rule="evenodd" />
|
|
</svg>
|
|
</div>
|
|
</summary>
|
|
<div class="space-y-4 border-t border-zinc-100 p-4 md:p-6 dark:border-zinc-800">
|
|
<%= yield %>
|
|
</div>
|
|
</details>
|