Sha256: c3f9a3645051a60d2141f24d68fb8cd5b15cca39327a73872f1beb9f19a97ec1
Contents?: true
Size: 1.14 KB
Versions: 7
Compression:
Stored size: 1.14 KB
Contents
# frozen_string_literal: true module Maglev class PagePreviewController < ApplicationController include Maglev::RenderingConcern include Maglev::JsonConcern include Maglev::ContentLocaleConcern before_action :fetch_maglev_site before_action :extract_content_locale def index render_maglev_page end def create render_maglev_page end private def fetch_maglev_site super.tap do |site| raise ActiveRecord::RecordNotFound if site.nil? maglev_services.context.site = site site.style = JSON.parse(params[:style]) if params[:style] end end def fetch_maglev_page_sections return super if action_name == 'index' super(JSON.parse(params[:page_sections])) end def maglev_rendering_mode params[:rendering_mode] || super end def use_engine_vite? false end def extract_content_locale _, locale = maglev_services.extract_locale.call(params: params, locales: maglev_site.locale_prefixes) ::I18n.locale = locale end def fallback_to_default_locale maglev_rendering_mode == :editor end end end
Version data entries
7 entries across 7 versions & 1 rubygems