mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-24 23:59:40 +02:00
Consolidate and simplify account pages (#2462)
* Remove ScrollFocusable * Consolidate and simplify account pages * Lint fixes * Fix tab param initialization * Remove stale files * Remove stale route, make accountable routes clearer
This commit is contained in:
parent
3eea5a9891
commit
8c97c9d31a
41 changed files with 252 additions and 269 deletions
72
app/components/UI/account/chart.rb
Normal file
72
app/components/UI/account/chart.rb
Normal file
|
@ -0,0 +1,72 @@
|
|||
class UI::Account::Chart < ApplicationComponent
|
||||
attr_reader :account
|
||||
|
||||
def initialize(account:, period: nil, view: nil)
|
||||
@account = account
|
||||
@period = period
|
||||
@view = view
|
||||
end
|
||||
|
||||
def period
|
||||
@period ||= Period.last_30_days
|
||||
end
|
||||
|
||||
def holdings_value_money
|
||||
account.balance_money - account.cash_balance_money
|
||||
end
|
||||
|
||||
def view_balance_money
|
||||
case view
|
||||
when "balance"
|
||||
account.balance_money
|
||||
when "holdings_balance"
|
||||
holdings_value_money
|
||||
when "cash_balance"
|
||||
account.cash_balance_money
|
||||
end
|
||||
end
|
||||
|
||||
def title
|
||||
case account.accountable_type
|
||||
when "Investment", "Crypto"
|
||||
case view
|
||||
when "balance"
|
||||
"Total account value"
|
||||
when "holdings_balance"
|
||||
"Holdings value"
|
||||
when "cash_balance"
|
||||
"Cash value"
|
||||
end
|
||||
when "Property", "Vehicle"
|
||||
"Estimated #{account.accountable_type.humanize.downcase} value"
|
||||
when "CreditCard", "OtherLiability"
|
||||
"Debt balance"
|
||||
when "Loan"
|
||||
"Remaining principal balance"
|
||||
else
|
||||
"Balance"
|
||||
end
|
||||
end
|
||||
|
||||
def foreign_currency?
|
||||
account.currency != account.family.currency
|
||||
end
|
||||
|
||||
def converted_balance_money
|
||||
return nil unless foreign_currency?
|
||||
|
||||
account.balance_money.exchange_to(account.family.currency, fallback_rate: 1)
|
||||
end
|
||||
|
||||
def view
|
||||
@view ||= "balance"
|
||||
end
|
||||
|
||||
def series
|
||||
account.balance_series(period: period, view: view)
|
||||
end
|
||||
|
||||
def trend
|
||||
series.trend
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue