mirror of
https://github.com/we-promise/sure.git
synced 2026-04-08 14:54:49 +00:00
* Add lookbook + viewcomponent, organize design system file * Build menu component * Button updates * More button fixes * Replace all menus with new ViewComponent * Checkpoint: fix tests, all buttons and menus converted * Split into Link and Button components for clarity * Button cleanup * Simplify custom confirmation configuration in views * Finalize button, link component API * Add toggle field to custom form builder + Component * Basic tabs component * Custom tabs, convert all menu / tab instances in app * Gem updates * Centralized icon helper * Update all icon usage to central helper * Lint fixes * Centralize all disclosure instances * Dialog replacements * Consolidation of all dialog styles * Test fixes * Fix app layout issues, move to component with slots * Layout simplification * Flakey test fix * Fix dashboard mobile issues * Finalize homepage * Lint fixes * Fix shadows and borders in dark mode * Fix tests * Remove stale class * Fix filled icon logic * Move transparent? to public interface
38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
<%# locals: (budget:) %>
|
|
|
|
<% steps = [
|
|
{ name: "Setup", path: edit_budget_path(budget), is_complete: budget.initialized?, step_number: 1 },
|
|
{ name: "Categories", path: budget_budget_categories_path(budget), is_complete: budget.allocations_valid?, step_number: 2 },
|
|
] %>
|
|
|
|
<ul class="flex items-center gap-2">
|
|
<% steps.each_with_index do |step, idx| %>
|
|
<li class="flex items-center gap-2 group">
|
|
<% is_current = request.path == step[:path] %>
|
|
|
|
<% text_class = if is_current
|
|
"text-primary"
|
|
else
|
|
step[:is_complete] ? "text-green-600" : "text-secondary"
|
|
end %>
|
|
<% step_class = if is_current
|
|
"bg-primary text-primary"
|
|
else
|
|
step[:is_complete] ? "bg-green-600/10 border-alpha-black-25" : "bg-container-inset"
|
|
end %>
|
|
|
|
<%= link_to step[:path], class: "flex items-center gap-3" do %>
|
|
<div class="flex items-center gap-2 text-sm font-medium <%= text_class %>">
|
|
<span class="<%= step_class %> w-7 h-7 rounded-full shrink-0 inline-flex items-center justify-center border border-transparent">
|
|
<%= step[:is_complete] && !is_current ? icon("check", size: "sm") : idx + 1 %>
|
|
</span>
|
|
|
|
<span><%= step[:name] %></span>
|
|
</div>
|
|
<% end %>
|
|
|
|
<hr class="border border-secondary w-12 group-last:hidden">
|
|
</li>
|
|
<% end %>
|
|
</ul>
|