app/helpers/welcome_helper.rb
module WelcomeHelper
def is_active_class(index)
"is-active is-in" if index.zero?
end
def slide_display(index)
"display: none;" if index.positive?
end
def recommended_path(recommended)
case recommended.class.name
when "Debate"
debate_path(recommended)
when "Proposal"
proposal_path(recommended)
else
"#"
end
end
def render_recommendation_image(recommended, image_default)
image_path = calculate_image_path(recommended, image_default)
image_tag(image_path) if image_path.present?
end
def calculate_image_path(recommended, image_default)
if recommended.respond_to?(:image) && recommended.image.present? &&
recommended.image.attachment.attached?
recommended.image.variant(:medium)
elsif image_default.present?
image_default
end
end
def calculate_carousel_size(debates, proposals, apply_offset)
offset = calculate_offset(debates, proposals, apply_offset)
centered = calculate_centered(debates, proposals)
"#{offset} #{centered}"
end
def calculate_centered(debates, proposals)
if (debates.blank? && proposals.any?) ||
(debates.any? && proposals.blank?)
"medium-centered large-centered"
end
end
def calculate_offset(debates, proposals, apply_offset)
if debates.any? && proposals.any?
if apply_offset
"medium-offset-2 large-offset-2"
else
"end"
end
end
end
end