mirror of
https://github.com/we-promise/sure.git
synced 2026-04-17 11:04:14 +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
54 lines
1.9 KiB
Plaintext
54 lines
1.9 KiB
Plaintext
<%# locals: (entry:, balance_trend: nil, **) %>
|
|
|
|
<% trade = entry.entryable %>
|
|
|
|
<%= turbo_frame_tag dom_id(entry) do %>
|
|
<%= turbo_frame_tag dom_id(trade) do %>
|
|
<div class="grid grid-cols-12 items-center <%= entry.excluded ? "text-gray-400 bg-gray-25" : "text-primary" %> text-sm font-medium p-4">
|
|
<div class="col-span-6 flex items-center gap-4">
|
|
<%= check_box_tag dom_id(entry, "selection"),
|
|
class: "checkbox checkbox--light",
|
|
data: { id: entry.id, "bulk-select-target": "row", action: "bulk-select#toggleRowSelection" } %>
|
|
|
|
<div class="max-w-full">
|
|
<%= tag.div class: ["flex items-center gap-2"] do %>
|
|
<%= render FilledIconComponent.new(
|
|
variant: :text,
|
|
text: entry.name,
|
|
size: "sm",
|
|
rounded: true
|
|
) %>
|
|
|
|
<div class="truncate">
|
|
<%= link_to entry.name,
|
|
entry_path(entry),
|
|
data: { turbo_frame: "drawer", turbo_prefetch: false },
|
|
class: "hover:underline hover:text-gray-800" %>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-span-2 flex items-center">
|
|
<%= render "categories/badge", category: trade_category %>
|
|
</div>
|
|
|
|
<div class="col-span-2 justify-self-end font-medium text-sm">
|
|
<%= content_tag :p,
|
|
format_money(-entry.amount_money),
|
|
class: ["text-green-600": entry.amount.negative?] %>
|
|
</div>
|
|
|
|
<div class="col-span-2 justify-self-end">
|
|
<% if balance_trend&.trend %>
|
|
<div class="flex items-center gap-2">
|
|
<%= tag.p format_money(balance_trend.trend.current), class: "font-medium text-sm text-primary" %>
|
|
</div>
|
|
<% else %>
|
|
<%= tag.p "--", class: "font-medium text-sm text-gray-400" %>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
<% end %>
|