about summary refs log tree commit diff
path: root/app/views/layouts/application.html.haml
blob: a471d7b6fb423e60af6ed522866a83b772bdb133 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
!!! 5
%html{ lang: I18n.locale }
  %head
    %meta{ charset: 'utf-8' }/
    %meta{ name: 'viewport', content: 'width=device-width, initial-scale=1' }/

    - if cdn_host?
      %link{ rel: 'dns-prefetch', href: cdn_host }/

    - if storage_host?
      %link{ rel: 'dns-prefetch', href: storage_host }/

    %link{ rel: 'icon', href: favicon_path, type: 'image/x-icon' }/
    %link{ rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png' }/
    %link{ rel: 'mask-icon', href: '/mask-icon.svg', color: '#2B90D9' }/
    %link{ rel: 'manifest', href: '/manifest.json' }/
    %meta{ name: 'msapplication-config', content: '/browserconfig.xml' }/
    %meta{ name: 'theme-color', content: '#282c37' }/
    %meta{ name: 'apple-mobile-web-app-capable', content: 'yes' }/

    %title= content_for?(:page_title) ? safe_join([yield(:page_title).chomp.html_safe, title], ' - ') : title

    = javascript_pack_tag "locales", integrity: true, crossorigin: 'anonymous'
    - if @theme
      - if @theme[:supported_locales].include? I18n.locale.to_s
        = javascript_pack_tag "locales/#{@theme[:flavour]}/#{I18n.locale}", integrity: true, crossorigin: 'anonymous'
      - elsif @theme[:supported_locales].include? 'en'
        = javascript_pack_tag "locales/#{@theme[:flavour]}/en", integrity: true, crossorigin: 'anonymous'
    = csrf_meta_tags

    = yield :header_tags

    -#  These must come after :header_tags to ensure our initial state has been defined.
    = render partial: 'layouts/theme', object: @core
    = render partial: 'layouts/theme', object: @theme

    - if Setting.custom_css.present?
      = stylesheet_link_tag custom_css_path, media: 'all'

    - if current_account&.user_hides_captions?
      :css
        div .media-caption,
        span .caption
        { display: none }

    - if current_account&.user_wants_larger_menus?
      :css
        .dropdown-menu__item a
        { padding: 14px 14px !important; font-size: 14px !important }
        .dropdown--active .dropdown__content > ul > li > a
        { padding: 14px 0 !important; font-size: 14px !important }

    - if current_account&.user_wants_larger_buttons?
      :css
        .drawer { min-width: 350px !important }
        .status__action-bar .icon-button,
        .detailed-status__action-bar .icon-button,
        .composer--options .icon-button
        {
          font-size: 24px !important;
          height: 24px !important;
          width: 24px !important;
          line-height: 24px !important;
          margin-right: 24px;
        }

    - if current_account&.user_wants_larger_drawer?
      :css
        .drawer { min-width: 400px !important }

    - if current_account&.user_hides_mascot?
      :css
        .drawer__inner__mastodon>img { display: none !important }

    -if current_account&.user_wants_larger_emoji?
      :css
        .status__content .emojione { width: 24px !important; height: 24px !important }
        .status__content .hoverplay:hover { padding-left: 24px !important }

    -if current_account&.user_shows_cursor?
      :css
        span.cursor::before { content: " █" }
      -if current_account&.user&.setting_auto_play_gif
        :css
          span.cursor { animation: t_blink 1s linear infinite }
      -else
        :css
          span.cursor:hover { animation: t_blink 1s linear infinite }

    - if current_account&.user_forces_lowercase?
      :css
        * { text-transform: lowercase; font-variant: inherit !important; }

  %body{ class: body_classes }
    = content_for?(:content) ? yield(:content) : yield

    %div{ style: 'display: none'}
      = render file: Rails.root.join('app', 'javascript', 'images', 'logo_transparent.svg')
      = render file: Rails.root.join('app', 'javascript', 'images', 'logo_full.svg')