You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.7 KiB

  1. !!! 5
  2. %html{ lang: I18n.locale }
  3. %head
  4. %meta{ charset: 'utf-8' }/
  5. %meta{ name: 'viewport', content: 'width=device-width, initial-scale=1' }/
  6. %link{ rel: 'icon', href: favicon_path, type: 'image/x-icon' }/
  7. %link{ rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png' }/
  8. %link{ rel: 'mask-icon', href: '/mask-icon.svg', color: '#2B90D9' }/
  9. %link{ rel: 'manifest', href: '/manifest.json' }/
  10. %meta{ name: 'msapplication-config', content: '/browserconfig.xml' }/
  11. %meta{ name: 'theme-color', content: '#282c37' }/
  12. %meta{ name: 'apple-mobile-web-app-capable', content: 'yes' }/
  13. %title= content_for?(:page_title) ? safe_join([yield(:page_title).chomp.html_safe, title], ' - ') : title
  14. = javascript_pack_tag "locales", integrity: true, crossorigin: 'anonymous'
  15. - if @theme
  16. - if @theme[:supported_locales].include? I18n.locale.to_s
  17. = javascript_pack_tag "locales/#{@theme[:flavour]}/#{I18n.locale}", integrity: true, crossorigin: 'anonymous'
  18. - elsif @theme[:supported_locales].include? 'en'
  19. = javascript_pack_tag "locales/#{@theme[:flavour]}/en", integrity: true, crossorigin: 'anonymous'
  20. = csrf_meta_tags
  21. = yield :header_tags
  22. -# These must come after :header_tags to ensure our initial state has been defined.
  23. = render partial: 'layouts/theme', object: @core
  24. = render partial: 'layouts/theme', object: @theme
  25. - body_classes ||= @body_classes || ''
  26. - body_classes += ' system-font' if current_account&.user&.setting_system_font_ui
  27. - body_classes += current_account&.user&.setting_reduce_motion ? ' reduce-motion' : ' no-reduce-motion'
  28. %body{ class: add_rtl_body_class(body_classes) }
  29. = content_for?(:content) ? yield(:content) : yield