mirror of
https://github.com/we-promise/sure.git
synced 2026-05-07 12:54:04 +00:00
* Initial plan * Hide missed values in privacy mode Agent-Logs-Url: https://github.com/we-promise/sure/sessions/ba225f77-fcf1-4d79-8f89-da446e77fab6 Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> * Tighten privacy mode test coverage Agent-Logs-Url: https://github.com/we-promise/sure/sessions/ba225f77-fcf1-4d79-8f89-da446e77fab6 Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> * Polish privacy mode assertions Agent-Logs-Url: https://github.com/we-promise/sure/sessions/ba225f77-fcf1-4d79-8f89-da446e77fab6 Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> * Refine privacy mode tests Agent-Logs-Url: https://github.com/we-promise/sure/sessions/ba225f77-fcf1-4d79-8f89-da446e77fab6 Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> * Restore budget privacy mode form interactivity Agent-Logs-Url: https://github.com/we-promise/sure/sessions/f3c51447-290c-421f-9cad-e8ff88c91d2f Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>
65 lines
2.6 KiB
Plaintext
65 lines
2.6 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="group grid grid-cols-12 items-center <%= entry.excluded ? "text-secondary bg-surface-inset" : "text-primary" %> text-sm font-medium p-4">
|
|
<div class="col-span-8 flex items-center gap-4">
|
|
<%= check_box_tag dom_id(entry, "selection"),
|
|
class: "checkbox checkbox--light hidden lg:block",
|
|
data: {
|
|
id: entry.id,
|
|
entry_type: entry.entryable_type,
|
|
"bulk-select-target": "row",
|
|
action: "bulk-select#toggleRowSelection",
|
|
checkbox_toggle_target: "selectionEntry"
|
|
} %>
|
|
|
|
<div class="max-w-full">
|
|
<%= tag.div class: ["flex items-center gap-2 min-w-0"] do %>
|
|
<div class="hidden lg:flex">
|
|
<%= render DS::FilledIcon.new(
|
|
variant: :text,
|
|
text: entry.name,
|
|
size: "sm",
|
|
rounded: true
|
|
) %>
|
|
</div>
|
|
|
|
<div class="flex lg:hidden">
|
|
<%= render "investment_activity/quick_edit_badge", entry: entry, entryable: trade %>
|
|
</div>
|
|
|
|
<div class="truncate flex-shrink">
|
|
<%= link_to entry.name,
|
|
entry_path(entry),
|
|
data: { turbo_frame: "drawer", turbo_prefetch: false },
|
|
class: "hover:underline" %>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="hidden lg:flex col-span-2 items-center">
|
|
<%= render "investment_activity/quick_edit_badge", entry: entry, entryable: trade %>
|
|
</div>
|
|
|
|
<div class="shrink-0 col-span-4 lg:col-span-2 ml-auto flex items-center justify-end gap-2">
|
|
<%# Protection indicator - shows on hover when entry is protected from sync %>
|
|
<% if entry.protected_from_sync? && !entry.excluded? %>
|
|
<%= link_to entry_path(entry),
|
|
data: { turbo_frame: "drawer", turbo_prefetch: false },
|
|
class: "invisible group-hover:visible transition-opacity",
|
|
title: t("entries.protection.tooltip") do %>
|
|
<%= icon "lock", size: "sm", class: "text-secondary" %>
|
|
<% end %>
|
|
<% end %>
|
|
<%= content_tag :p,
|
|
format_money(-entry.amount_money),
|
|
class: ["privacy-sensitive", "text-green-600": entry.amount.negative?] %>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
<% end %>
|