mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-24 23:59:40 +02:00
65 lines
2.5 KiB
Text
65 lines
2.5 KiB
Text
<%= turbo_stream_from @account %>
|
|
|
|
<% series = @account.series(period: @period) %>
|
|
<% trend = series.trend %>
|
|
|
|
<%= tag.div id: dom_id(@account), class: "space-y-4" do %>
|
|
<header class="flex items-center gap-4">
|
|
<%= render permitted_accountable_partial(@account, "header"), account: @account %>
|
|
|
|
<div class="flex items-center gap-3 ml-auto">
|
|
<%= button_to sync_account_path(@account), method: :post, class: "flex items-center gap-2", title: "Sync Account" do %>
|
|
<%= lucide_icon "refresh-cw", class: "w-4 h-4 text-gray-500 hover:text-gray-400" %>
|
|
<% end %>
|
|
|
|
<%= render "menu", account: @account %>
|
|
</div>
|
|
</header>
|
|
|
|
<% if @account.highest_priority_issue %>
|
|
<%= render partial: "issues/issue", locals: { issue: @account.highest_priority_issue } %>
|
|
<% end %>
|
|
|
|
<div class="bg-white shadow-xs rounded-xl border border-alpha-black-25 rounded-lg">
|
|
<div class="p-4 flex justify-between">
|
|
<div class="space-y-2">
|
|
<div class="flex items-center gap-1">
|
|
<div>
|
|
<% if @account.asset? %>
|
|
<%= tag.p t(".total_value"), class: "text-sm font-medium text-gray-500" %>
|
|
<% else %>
|
|
<%= tag.p t(".total_owed"), class: "text-sm font-medium text-gray-500" %>
|
|
<% end %>
|
|
</div>
|
|
|
|
<%= render permitted_accountable_partial(@account, "tooltip"), account: @account if @account.investment? %>
|
|
</div>
|
|
|
|
<%= tag.p format_money(@account.value), class: "text-gray-900 text-3xl font-medium" %>
|
|
|
|
<div>
|
|
<% if trend.direction.flat? %>
|
|
<%= tag.span t(".no_change"), class: "text-gray-500" %>
|
|
<% else %>
|
|
<%= tag.span format_money(trend.value), style: "color: #{trend.color}" %>
|
|
<%= tag.span "(#{trend.percent}%)", style: "color: #{trend.color}" %>
|
|
<% end %>
|
|
|
|
<%= tag.span period_label(@period), class: "text-gray-500" %>
|
|
</div>
|
|
</div>
|
|
|
|
<%= form_with url: account_path(@account), method: :get, data: { controller: "auto-submit-form" } do |form| %>
|
|
<%= period_select form: form, selected: @period.name %>
|
|
<% end %>
|
|
</div>
|
|
|
|
<div class="h-96 flex items-center justify-center text-2xl font-bold">
|
|
<%= render "shared/line_chart", series: @account.series(period: @period) %>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="min-h-[800px]">
|
|
<%= render permitted_accountable_partial(@account, "tabs"), account: @account, selected_tab: params[:tab] %>
|
|
</div>
|
|
<% end %>
|