Files
grecia/app/components/dashboard/active_resource_component.rb
taitus 1f97a996f8 Move resource partial to a component
We're renaming it to ActiveResource in order to better differentiate it
from the DefaultResource component.
2025-08-27 17:40:45 +02:00

38 lines
1.3 KiB
Ruby

class Dashboard::ActiveResourceComponent < ApplicationComponent
attr_reader :resource, :proposal, :new_actions_since_last_login
use_helpers :is_new_action_since_last_login?
def initialize(resource, proposal, new_actions_since_last_login)
@resource = resource
@proposal = proposal
@new_actions_since_last_login = new_actions_since_last_login
end
def resource_card_class
return "alert" unless resource.active_for?(proposal)
return "success" if resource.executed_for?(proposal)
"primary"
end
def resource_tooltip
return t("dashboard.resource.resource_locked") unless resource.active_for?(proposal)
return t("dashboard.resource.view_resource") if resource.executed_for?(proposal)
return t("dashboard.resource.resource_requested") if resource.requested_for?(proposal)
t("dashboard.resource.request_resource")
end
def resource_availability_label
label = []
label << t("dashboard.resource.required_days",
days: resource.day_offset) if resource.day_offset > 0
label << t("dashboard.resource.required_supports",
supports: number_with_delimiter(resource.required_supports,
delimiter: ".")) if resource.required_supports > 0
safe_join label, h(" #{t("dashboard.resource.and")})") + tag(:br)
end
end