!!! 5 %html{ lang: html_lang, class: yield(:root_class) } %head %meta{ "http-equiv": "Content-Type", content: "text/html; charset=UTF-8" } %meta{ "http-equiv": "X-UA-Compatible", content: "IE=edge" } %meta{ name: "viewport", content: "width=device-width, initial-scale=1" } = csrf_meta_tags %title = content_for?(:title) ? "#{yield(:title)} ยท #{APPLICATION_NAME}" : APPLICATION_NAME = favicon_link_tag(image_url("#{FAVICON_16PX_SRC}"), type: "image/png", sizes: "16x16") = favicon_link_tag(image_url("#{FAVICON_32PX_SRC}"), type: "image/png", sizes: "32x32") = favicon_link_tag(image_url("#{FAVICON_96PX_SRC}"), type: "image/png", sizes: "96x96") = Gon::Base.render_data(camel_case: true, init: true, nonce: request.content_security_policy_nonce) = vite_client_tag = vite_react_refresh_tag = vite_javascript_tag 'application' = vite_javascript_tag 'dsfr-module', type: "module", nonce: true = vite_javascript_tag 'dsfr-nomodule', type: 'nomodule', type: "text/javascript", nonce: true - if administrateur_signed_in? = vite_javascript_tag 'track-admin' - if vite_legacy? = vite_legacy_polyfill_tag = vite_legacy_javascript_tag 'application' - if administrateur_signed_in? = vite_legacy_javascript_tag 'track-admin' = vite_legacy_fallback_tag = preload_link_tag(asset_url("Marianne-Regular.woff2")) = preload_link_tag(asset_url("Spectral-Regular.ttf")) = stylesheet_link_tag 'application', media: 'all' = vite_stylesheet_tag 'application', media: 'all' %body{ id: content_for(:page_id), class: browser.platform.ios? ? 'ios' : nil } .page-wrapper = render partial: "layouts/outdated_browser_banner" = render partial: 'layouts/pre_maintenance' - if staging? #beta Env Test = render partial: "layouts/header" %main = render partial: "layouts/flash_messages" = content_for?(:content) ? yield(:content) : yield - if content_for?(:footer) = content_for(:footer) - if Rails.env.development? = vite_typescript_tag 'axe-core' = yield :charts_js // Container for custom turbo-stream actions %turbo-events // We patch `@hotwired/turbo` to attach forms generated from links to this // container instead of the body to avoid conflicts with `@rails/ujs`. We also // patch `@hotwired/turbo` to add a timeout before removing the form because in // order to be accepted as a valid `turbo form`` either global `turbo drive`` should // be enabled or the form needs to have a parent with `data-turbo="true"` on it. %div{ 'data-turbo': 'true' }