# frozen_string_literal: true module Alchemy module Admin module PagesHelper include Alchemy::Admin::BaseHelper # Returns options tags for the screen sizes select in page edit view. # def preview_sizes_for_select options_for_select([ "auto", [Alchemy.t("240", scope: "preview_sizes"), 240], [Alchemy.t("320", scope: "preview_sizes"), 320], [Alchemy.t("480", scope: "preview_sizes"), 480], [Alchemy.t("768", scope: "preview_sizes"), 768], [Alchemy.t("1024", scope: "preview_sizes"), 1024], [Alchemy.t("1280", scope: "preview_sizes"), 1280] ]) end # Renders a label for page's page layout # # If the page layout definition of the page is missing, it displays a warning. # def page_layout_label(page) if page.persisted? && page.definition.blank? [ page_layout_missing_warning, Alchemy.t(:page_type) ].join(" ").html_safe else Alchemy.t(:page_type) end end def page_status_checkbox(page, attribute) label = page.class.human_attribute_name(attribute) if page.attribute_fixed?(attribute) checkbox = check_box(:page, attribute, disabled: true) hint = content_tag(:span, class: "hint-bubble") do Alchemy.t(:attribute_fixed, attribute: attribute) end content = content_tag(:span, class: "with-hint") do "#{checkbox}\n#{label}\n#{hint}".html_safe end else checkbox = check_box(:page, attribute) content = "#{checkbox}\n#{label}".html_safe end content_tag(:label, class: "checkbox") { content } end end end end