]> cat aescling's git repositories - mastodon.git/commitdiff
Make avatar and headers respect `auto_play_gif` (#9515)
authorThibG <thib@sitedethib.com>
Fri, 14 Dec 2018 19:34:18 +0000 (20:34 +0100)
committerEugen Rochko <eugen@zeonfederated.com>
Fri, 14 Dec 2018 19:34:18 +0000 (20:34 +0100)
* Do not animate account header art if user's GIF autoplay setting is off

Fixes #9472

* Honour currently logged-in user's GIF autoplay setting for account avatars

Fixes #9467

* Fix avatar display on some public pages when data is stored on a different host

* Use ternary operator instead of if/else for avatar/header URL

app/helpers/home_helper.rb
app/javascript/mastodon/features/account/components/header.js
app/views/accounts/_header.html.haml

index ba7c443c22c370461851acf2b3e887257c4a1e7d..9b3f1380b149b99d702e92cb5755f366f453859d 100644 (file)
@@ -23,7 +23,7 @@ module HomeHelper
                   else
                     link_to(path || TagManager.instance.url_for(account), class: 'account__display-name') do
                       content_tag(:div, class: 'account__avatar-wrapper') do
-                        content_tag(:div, '', class: 'account__avatar', style: "width: #{size}px; height: #{size}px; background-size: #{size}px #{size}px; background-image: url(#{account.avatar.url})")
+                        content_tag(:div, '', class: 'account__avatar', style: "width: #{size}px; height: #{size}px; background-size: #{size}px #{size}px; background-image: url(#{full_asset_url(current_account&.user&.setting_auto_play_gif ? account.avatar_original_url : account.avatar_static_url)})")
                       end +
                         content_tag(:span, class: 'display-name') do
                           content_tag(:bdi) do
index 8604e71673c6eafa371038f9deed0e2891f85b61..2ab25cde44777cdd3096d37a973f7b02530369be 100644 (file)
@@ -158,7 +158,7 @@ class Header extends ImmutablePureComponent {
     const badge           = account.get('bot') ? (<div className='roles'><div className='account-role bot'><FormattedMessage id='account.badges.bot' defaultMessage='Bot' /></div></div>) : null;
 
     return (
-      <div className={classNames('account__header', { inactive: !!account.get('moved') })} style={{ backgroundImage: `url(${account.get('header')})` }}>
+      <div className={classNames('account__header', { inactive: !!account.get('moved') })} style={{ backgroundImage: `url(${autoPlayGif ? account.get('header') : account.get('header_static')})` }}>
         <div>
           <Avatar account={account} />
 
index 9ceae007d58f2a769c6194f05c7990ccdc164358..370e7e470f50dc6aa3decb02695fbce3afa058a4 100644 (file)
@@ -1,12 +1,9 @@
 .public-account-header{:class => ("inactive" if account.moved?)}
   .public-account-header__image
-    = image_tag account.header.url, class: 'parallax'
+    = image_tag (current_account&.user&.setting_auto_play_gif ? account.header_original_url : account.header_static_url), class: 'parallax'
   .public-account-header__bar
     = link_to short_account_url(account), class: 'avatar' do
-      - if current_account&.user&.setting_auto_play_gif
-        = image_tag account.avatar_original_url
-      - else
-        = image_tag account.avatar_static_url
+      = image_tag (current_account&.user&.setting_auto_play_gif ? account.avatar_original_url : account.avatar_static_url)
     .public-account-header__tabs
       .public-account-header__tabs__name
         %h1