2025-07-18 17:56:25 -04:00
|
|
|
class UI::Account::ActivityDate < ApplicationComponent
|
|
|
|
attr_reader :account, :data
|
|
|
|
|
2025-07-23 18:15:14 -04:00
|
|
|
delegate :date, :entries, :balance, :transfers, to: :data
|
2025-07-18 17:56:25 -04:00
|
|
|
|
|
|
|
def initialize(account:, data:)
|
|
|
|
@account = account
|
|
|
|
@data = data
|
|
|
|
end
|
|
|
|
|
|
|
|
def id
|
|
|
|
dom_id(account, "entries_#{date}")
|
|
|
|
end
|
|
|
|
|
|
|
|
def broadcast_channel
|
|
|
|
account
|
|
|
|
end
|
|
|
|
|
|
|
|
def end_balance_money
|
2025-07-23 18:15:14 -04:00
|
|
|
balance&.end_balance_money || Money.new(0, account.currency)
|
2025-07-18 17:56:25 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
def broadcast_refresh!
|
|
|
|
Turbo::StreamsChannel.broadcast_replace_to(
|
|
|
|
broadcast_channel,
|
|
|
|
target: id,
|
|
|
|
renderable: self,
|
|
|
|
layout: false
|
|
|
|
)
|
|
|
|
end
|
|
|
|
end
|