module ApplicationHelper PLAN_ICONS = { "free" => "fa-solid fa-seedling", "premium_light" => "fa-solid fa-rocket", "premium_full" => "fa-solid fa-crown" }.freeze def plan_icon_class(plan) PLAN_ICONS[plan.slug] || "fa-solid fa-circle" end # Data/ora nel fuso dell'app (Europe/Rome) e nella lingua corrente. def l_local(date_or_time, format: :long) return nil if date_or_time.blank? value = date_or_time.respond_to?(:in_time_zone) ? date_or_time.in_time_zone : date_or_time I18n.l(value, format: format) end def og_locale_tag { it: "it_IT", en: "en_US", fr: "fr_FR", de: "de_DE", es: "es_ES" }.fetch(I18n.locale.to_sym, "it_IT") end def html_lang I18n.locale.to_s end def confirm_dialog_i18n_json { eyebrow: t("common.confirm_eyebrow"), title: t("common.confirm_title"), deleteTitle: t("common.delete_title"), confirmOk: t("common.confirm_ok"), deleteOk: t("common.delete_ok"), cancel: t("common.cancel"), multiDeleteTitle: t("common.multi_delete_title"), multiDeleteMessage: t("common.multi_delete_message"), deleteYoutubeTitle: t("common.delete_youtube_title"), deleteYoutubeMessage: t("common.delete_youtube_message"), deleteYoutubeOk: t("common.delete_youtube_ok"), deleteSiteTitle: t("common.delete_site_title"), deleteSiteMessageWithYoutube: t("common.delete_site_message_with_youtube"), deleteSiteMessageOnly: t("common.delete_site_message_only"), deleteSiteOk: t("common.delete_site_ok"), choiceSiteLabel: t("common.choice_site_label"), choiceSiteHintWithYoutube: t("common.choice_site_hint_with_youtube"), choiceSiteHintOnly: t("common.choice_site_hint_only"), choiceYoutubeLabel: t("common.choice_youtube_label"), choiceYoutubeHintWithSite: t("common.choice_youtube_hint_with_site"), choiceYoutubeHintOnly: t("common.choice_youtube_hint_only"), choiceBothLabel: t("common.choice_both_label"), choiceBothHint: t("common.choice_both_hint") }.to_json end def sport_catalog_options(selected = nil) options = Sports::Catalog.as_api_list.map { |entry| [entry[:label], entry[:key]] } options_for_select(options, Sports::Catalog.normalize_key(selected)) end end