1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-19 13:19:39 +02:00

Add Live Data to Account Page (#464)

* Add trends, time series, seed data

* Remove test data

* Replace old view values with helpers

* Fix tooltip bugs in D3 chart

* Fix tests

* Fix smoke test

* Add CRUD actions for valuations

* Scaffold out inline editing with Turbo
This commit is contained in:
Zach Gollwitzer 2024-02-20 09:07:55 -05:00 committed by GitHub
parent 298b50a909
commit b5b2d335fd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
28 changed files with 512 additions and 167 deletions

View file

@ -48,6 +48,40 @@ module ApplicationHelper
end
end
# Styles to use when displaying a change in value
def trend_styles(trend_direction)
bg_class, text_class, symbol, icon = case trend_direction
when "up"
[ "bg-green-500/5", "text-green-500", "+", "arrow-up" ]
when "down"
[ "bg-red-500/5", "text-red-500", "-", "arrow-down" ]
when "flat"
[ "bg-gray-500/5", "text-gray-500", "", "minus" ]
else
raise ArgumentError, "Invalid trend direction: #{trend_direction}"
end
{ bg_class: bg_class, text_class: text_class, symbol: symbol, icon: icon }
end
def trend_label(date_range)
start_date, end_date = date_range.values_at(:start, :end)
days_apart = (end_date - start_date).to_i
case days_apart
when 1
"vs. yesterday"
when 7
"vs. last week"
when 30, 31
"vs. last month"
when 365, 366
"vs. last year"
else
"from #{start_date.strftime('%b %d, %Y')} to #{end_date.strftime('%b %d, %Y')}"
end
end
def format_currency(number, options = {})
user_currency_preference = Current.family.try(:currency) || "USD"