# frozen_string_literal: true class SwitchDomainBannerComponent < ApplicationComponent attr_reader :user def initialize(user:) @user = user end def render? return false unless helpers.switch_domain_enabled?(request) return false if user&.preferred_domain_demarches_gouv_fr? && requested_from_new_domain? true end def auto_switch? helpers.auto_switch_domain?(request, user.present?) end def manual_switch? helpers.app_host_legacy?(request) && user.present? end def new_host_url helpers.url_for(url_options) end def requested_from_new_domain? Current.host == ApplicationHelper::APP_HOST end private def url_options request.params.except(:switch_domain).merge(host: ApplicationHelper::APP_HOST) end end