Make avatar and headers respect `auto_play_gif` (#9515)

* 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
This commit is contained in:
ThibG 2018-12-14 20:34:18 +01:00 committed by Eugen Rochko
parent 7241db299c
commit 7c48688d85
3 changed files with 4 additions and 7 deletions

View File

@ -23,7 +23,7 @@ module HomeHelper
else else
link_to(path || TagManager.instance.url_for(account), class: 'account__display-name') do 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-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 + end +
content_tag(:span, class: 'display-name') do content_tag(:span, class: 'display-name') do
content_tag(:bdi) do content_tag(:bdi) do

View 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; const badge = account.get('bot') ? (<div className='roles'><div className='account-role bot'><FormattedMessage id='account.badges.bot' defaultMessage='Bot' /></div></div>) : null;
return ( 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> <div>
<Avatar account={account} /> <Avatar account={account} />

View File

@ -1,12 +1,9 @@
.public-account-header{:class => ("inactive" if account.moved?)} .public-account-header{:class => ("inactive" if account.moved?)}
.public-account-header__image .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 .public-account-header__bar
= link_to short_account_url(account), class: 'avatar' do = link_to short_account_url(account), class: 'avatar' do
- if current_account&.user&.setting_auto_play_gif = image_tag (current_account&.user&.setting_auto_play_gif ? account.avatar_original_url : account.avatar_static_url)
= image_tag account.avatar_original_url
- else
= image_tag account.avatar_static_url
.public-account-header__tabs .public-account-header__tabs
.public-account-header__tabs__name .public-account-header__tabs__name
%h1 %h1