Move resource partial to a component

We're renaming it to ActiveResource in order to better differentiate it
from the DefaultResource component.
This commit is contained in:
taitus
2025-06-27 10:25:01 +02:00
committed by Javi Martín
parent 9b0675aa06
commit 1f97a996f8
7 changed files with 57 additions and 49 deletions

View File

@@ -0,0 +1,37 @@
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