mirror of
https://github.com/we-promise/sure.git
synced 2026-04-18 11:34:13 +00:00
* Placeholder logic for missing prices * Generate holdings properly for "offline" securities * Separate forward and reverse calculators for holdings and balances * Remove unnecessary currency conversion during sync * Clearer sync process * Move price caching logic to dedicated model * Base holding calculator * Base calculator for balances * Finish balance calculators * Better naming * Logs cleanup * Remove stale data type * Remove stale test * Fix price lookup logic for holdings sync * Fix Plaid item sync regression * Remove temp logging * Calculate cash and holdings series * Add holdings, cash, and balance series dropdown for investments
37 lines
1.5 KiB
Plaintext
37 lines
1.5 KiB
Plaintext
<%# locals: (account:, title: nil, tooltip: nil, chart_view: nil, **args) %>
|
|
|
|
<% period = @period || Period.last_30_days %>
|
|
<% default_value_title = account.asset? ? t(".balance") : t(".owed") %>
|
|
|
|
<div id="<%= dom_id(account, :chart) %>" class="bg-white shadow-xs rounded-xl border border-alpha-black-25 rounded-lg space-y-2">
|
|
<div class="flex justify-between px-4 pt-4 mb-2">
|
|
<div class="space-y-2">
|
|
<div class="flex items-center gap-1">
|
|
<%= tag.p title || default_value_title, class: "text-sm font-medium text-secondary" %>
|
|
<%= tooltip %>
|
|
</div>
|
|
|
|
<%= tag.p format_money(account.balance_money), class: "text-primary text-3xl font-medium" %>
|
|
</div>
|
|
|
|
<%= form_with url: request.path, method: :get, data: { controller: "auto-submit-form" } do |form| %>
|
|
<div class="flex items-center gap-2">
|
|
<% if chart_view.present? %>
|
|
<%= form.select :chart_view,
|
|
[["Total value", "balance"], ["Holdings", "holdings_balance"], ["Cash", "cash_balance"]],
|
|
{ selected: chart_view },
|
|
class: "border border-secondary rounded-lg text-sm pr-7 cursor-pointer text-primary focus:outline-hidden focus:ring-0",
|
|
data: { "auto-submit-form-target": "auto" }
|
|
%>
|
|
<% end %>
|
|
|
|
<%= period_select form: form, selected: period %>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
|
|
<%= turbo_frame_tag dom_id(account, :chart_details), src: chart_account_path(account, period: period.key, chart_view: chart_view) do %>
|
|
<%= render "accounts/chart_loader" %>
|
|
<% end %>
|
|
</div>
|