mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-20 05:39:39 +02:00
* Handle Turbo updates with tabs Fixes #491 * Add Filterable concern for controllers * Add trendline chart * Extract common UI to partials * Series refactor * Put placeholders for calculations in * Add classification generated column to account * Add basic net worth calculation * Add net worth tests * Get net worth graph working * Fix lint errors * Implement asset grouping query * Make trends and series more intuitive * Fully functional dashboard * Remove logging
32 lines
1.4 KiB
Ruby
32 lines
1.4 KiB
Ruby
module AccountsHelper
|
|
def to_accountable_title(accountable)
|
|
accountable.model_name.human
|
|
end
|
|
|
|
def accountable_text_class(accountable_type)
|
|
class_mapping(accountable_type)[:text]
|
|
end
|
|
|
|
def accountable_bg_class(accountable_type)
|
|
class_mapping(accountable_type)[:bg]
|
|
end
|
|
|
|
def accountable_bg_transparent_class(accountable_type)
|
|
class_mapping(accountable_type)[:bg_transparent]
|
|
end
|
|
|
|
private
|
|
|
|
def class_mapping(accountable_type)
|
|
{
|
|
"Account::Credit" => { text: "text-red-500", bg: "bg-red-500", bg_transparent: "bg-red-500/10" },
|
|
"Account::Loan" => { text: "text-fuchsia-500", bg: "bg-fuchsia-500", bg_transparent: "bg-fuchsia-500/10" },
|
|
"Account::OtherLiability" => { text: "text-gray-500", bg: "bg-gray-500", bg_transparent: "bg-gray-500/10" },
|
|
"Account::Depository" => { text: "text-violet-500", bg: "bg-violet-500", bg_transparent: "bg-violet-500/10" },
|
|
"Account::Investment" => { text: "text-blue-600", bg: "bg-blue-600", bg_transparent: "bg-blue-600/10" },
|
|
"Account::OtherAsset" => { text: "text-green-500", bg: "bg-green-500", bg_transparent: "bg-green-500/10" },
|
|
"Account::Property" => { text: "text-cyan-500", bg: "bg-cyan-500", bg_transparent: "bg-cyan-500/10" },
|
|
"Account::Vehicle" => { text: "text-pink-500", bg: "bg-pink-500", bg_transparent: "bg-pink-500/10" }
|
|
}.fetch(accountable_type, { text: "text-gray-500", bg: "bg-gray-500", bg_transparent: "bg-gray-500/10" })
|
|
end
|
|
end
|