2024-02-24 02:18:30 +00:00
|
|
|
<%= turbo_stream_from @account %>
|
2024-02-14 13:02:11 -05:00
|
|
|
<div class="space-y-4">
|
|
|
|
<div class="flex justify-between items-center">
|
|
|
|
<div class="flex items-center gap-3">
|
2024-04-25 15:32:45 +01:00
|
|
|
<%= image_tag account_logo_url(@account), class: "w-8 h-8" %>
|
2024-02-14 13:02:11 -05:00
|
|
|
<h2 class="font-medium text-xl"><%= @account.name %></h2>
|
|
|
|
</div>
|
|
|
|
<div class="flex items-center gap-3">
|
2024-03-21 13:39:10 -04:00
|
|
|
<%= 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-900 hover:text-gray-500" %>
|
|
|
|
<% end %>
|
2024-02-14 13:02:11 -05:00
|
|
|
<div class="relative cursor-not-allowed">
|
|
|
|
<div class="flex items-center gap-2 px-3 py-2">
|
2024-03-19 09:10:40 -04:00
|
|
|
<span class="text-gray-900"><%= @account.balance_money.currency.iso_code %> <%= @account.balance_money.currency.symbol %></span>
|
2024-02-14 13:02:11 -05:00
|
|
|
<%= lucide_icon("chevron-down", class: "w-5 h-5 text-gray-500") %>
|
|
|
|
</div>
|
|
|
|
</div>
|
2024-04-03 17:32:27 -04:00
|
|
|
<div class="relative cursor-pointer" data-controller="menu">
|
|
|
|
<button data-menu-target="button" class="flex hover:bg-gray-100 p-2 rounded">
|
2024-03-31 23:36:54 +02:00
|
|
|
<%= lucide_icon("more-horizontal", class: "w-5 h-5 text-gray-500") %>
|
2024-04-03 17:32:27 -04:00
|
|
|
</button>
|
|
|
|
<div data-menu-target="content" class="absolute z-10 top-10 right-0 border border-alpha-black-25 bg-white rounded-lg shadow-xs hidden">
|
2024-03-31 23:36:54 +02:00
|
|
|
<div class="w-48 px-3 text-sm leading-6 text-gray-900 bg-white shadow-lg shrink rounded-xl ring-1 ring-gray-900/5">
|
2024-04-09 16:08:58 +04:00
|
|
|
<%= button_to account_path(@account),
|
|
|
|
method: :delete,
|
|
|
|
class: "block w-full py-2 text-red-600 hover:text-red-800 flex items-center",
|
|
|
|
data: {
|
|
|
|
turbo_confirm: {
|
|
|
|
title: t("custom_turbo_confirm.account_destroy.title"),
|
|
|
|
body: t("custom_turbo_confirm.account_destroy.body_html"),
|
|
|
|
accept: t("custom_turbo_confirm.account_destroy.accept", name: @account.name)
|
|
|
|
}
|
2024-04-03 17:32:27 -04:00
|
|
|
} do %>
|
2024-03-31 23:36:54 +02:00
|
|
|
<%= lucide_icon("trash-2", class: "w-5 h-5 mr-2") %> Delete account
|
|
|
|
<% end %>
|
|
|
|
</div>
|
|
|
|
</div>
|
2024-02-14 13:02:11 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2024-02-22 11:35:06 -05:00
|
|
|
<%= turbo_frame_tag "sync_message" do %>
|
2024-03-11 16:32:13 -04:00
|
|
|
<%= render partial: "accounts/sync_message", locals: { is_syncing: @account.syncing? } %>
|
2024-02-22 11:35:06 -05:00
|
|
|
<% end %>
|
2024-02-14 13:02:11 -05:00
|
|
|
<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">
|
2024-04-18 10:32:36 -04:00
|
|
|
<%= render partial: "shared/value_heading", locals: {
|
2024-04-09 16:08:58 +04:00
|
|
|
label: "Total Value",
|
2024-03-01 17:33:54 -05:00
|
|
|
period: @period,
|
2024-04-18 10:32:36 -04:00
|
|
|
value: @account.balance_money,
|
2024-03-01 17:33:54 -05:00
|
|
|
trend: @balance_series.trend
|
2024-04-09 16:08:58 +04:00
|
|
|
} %>
|
2024-02-14 13:02:11 -05:00
|
|
|
</div>
|
2024-04-03 17:32:27 -04:00
|
|
|
<%= form_with url: account_path(@account), method: :get, class: "flex items-center gap-4", data: { controller: "auto-submit-form" } do %>
|
|
|
|
<%= render partial: "shared/period_select", locals: { value: @period.name } %>
|
|
|
|
<% end %>
|
2024-02-14 13:02:11 -05:00
|
|
|
</div>
|
|
|
|
<div class="h-96 flex items-center justify-center text-2xl font-bold">
|
2024-03-06 09:56:59 -05:00
|
|
|
<%= render partial: "shared/line_chart", locals: { series: @balance_series } %>
|
2024-02-14 13:02:11 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
2024-02-23 21:34:33 -05:00
|
|
|
<div data-controller="tabs" data-tabs-active-class="bg-gray-100" data-tabs-default-tab-value="account-history-tab">
|
|
|
|
<div class="flex gap-1 text-sm text-gray-900 font-medium mb-4">
|
|
|
|
<button data-id="account-history-tab" class="p-2 rounded-lg" data-tabs-target="btn" data-action="click->tabs#select">History</button>
|
|
|
|
<button data-id="account-transactions-tab" class="p-2 rounded-lg" data-tabs-target="btn" data-action="click->tabs#select">Transactions</button>
|
2024-02-14 13:02:11 -05:00
|
|
|
</div>
|
2024-02-23 21:34:33 -05:00
|
|
|
<div class="min-h-[800px]">
|
|
|
|
<div data-tabs-target="tab" id="account-history-tab">
|
2024-03-06 09:56:59 -05:00
|
|
|
<%= render partial: "accounts/account_history", locals: { account: @account, valuations: @valuation_series } %>
|
2024-02-23 21:34:33 -05:00
|
|
|
</div>
|
2024-03-01 17:14:06 -05:00
|
|
|
<div data-tabs-target="tab" id="account-transactions-tab" class="hidden">
|
2024-04-16 12:44:31 -06:00
|
|
|
<%= render partial: "accounts/transactions", locals: { account: @account, transactions: @account.transactions.order(date: :desc) } %>
|
2024-02-14 13:02:11 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|