diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2024-07-18 01:22:24 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-18 01:22:24 +0900 |
| commit | 3331f3972a02f8b662a3bf3e5a94f7b0a45ebbb6 (patch) | |
| tree | 6b2b1743ed31595ba2e16156014c45b7012f6219 | |
| parent | refactor(frontend): Improve typing (#14240) (diff) | |
| download | sharkey-3331f3972a02f8b662a3bf3e5a94f7b0a45ebbb6.tar.gz sharkey-3331f3972a02f8b662a3bf3e5a94f7b0a45ebbb6.tar.bz2 sharkey-3331f3972a02f8b662a3bf3e5a94f7b0a45ebbb6.zip | |
fix(frontend): 「アニメーション画像を再生しない」がオンのときにバナー画像・サーバー背景画像がアニメーションしないように (#14243)
* fix: stop animating banner and backgrounds when stop showing animated images is enabled
(cherry picked from commit 8fe2596316e9688509745706ea424f0b4bfd4136)
* chore: nest ternary
(cherry picked from commit 2783fe5f5bd7c0647db9f9b6fb5e000e4f411092)
* chore: flip ternary
(cherry picked from commit b9d66f824cff373cc53bfa846a56c16f456a6d5b)
* update changelog
---------
Co-authored-by: Marie <marie@kaifa.ch>
| -rw-r--r-- | CHANGELOG.md | 2 | ||||
| -rw-r--r-- | packages/frontend/src/components/MkUserInfo.vue | 4 | ||||
| -rw-r--r-- | packages/frontend/src/components/MkUserPopup.vue | 3 | ||||
| -rw-r--r-- | packages/frontend/src/pages/user/home.vue | 11 |
4 files changed, 16 insertions, 4 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 02497883f0..9eea70d3b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,8 @@ - Fix: ショートカットキーが連打できる問題を修正 (Cherry-picked from https://github.com/taiyme/misskey/pull/234) - Fix: MkSignin.vueのcredentialRequestからReactivityを削除(ProxyがPasskey認証処理に渡ることを避けるため) +- Fix: 「アニメーション画像を再生しない」がオンのときでもサーバーのバナー画像・背景画像がアニメーションしてしまう問題を修正 + (Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/574) ### Server - Feat: レートリミット制限に引っかかったときに`Retry-After`ヘッダーを返すように (#13949) diff --git a/packages/frontend/src/components/MkUserInfo.vue b/packages/frontend/src/components/MkUserInfo.vue index d6f1ae453c..f0b9606590 100644 --- a/packages/frontend/src/components/MkUserInfo.vue +++ b/packages/frontend/src/components/MkUserInfo.vue @@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only <template> <div class="_panel" :class="$style.root"> - <div :class="$style.banner" :style="user.bannerUrl ? `background-image: url(${user.bannerUrl})` : ''"></div> + <div :class="$style.banner" :style="user.bannerUrl ? `background-image: url(${defaultStore.state.disableShowingAnimatedImages ? getStaticImageUrl(user.bannerUrl) : user.bannerUrl})` : ''"></div> <MkAvatar :class="$style.avatar" :user="user" indicator/> <div :class="$style.title"> <MkA :class="$style.name" :to="userPage(user)"><MkUserName :user="user" :nowrap="false"/></MkA> @@ -41,6 +41,8 @@ import { userPage } from '@/filters/user.js'; import { i18n } from '@/i18n.js'; import { $i } from '@/account.js'; import { isFollowingVisibleForMe, isFollowersVisibleForMe } from '@/scripts/isFfVisibleForMe.js'; +import { getStaticImageUrl } from '@/scripts/media-proxy.js'; +import { defaultStore } from '@/store.js'; defineProps<{ user: Misskey.entities.UserDetailed; diff --git a/packages/frontend/src/components/MkUserPopup.vue b/packages/frontend/src/components/MkUserPopup.vue index 41b27a1afb..ea1241002e 100644 --- a/packages/frontend/src/components/MkUserPopup.vue +++ b/packages/frontend/src/components/MkUserPopup.vue @@ -13,7 +13,7 @@ SPDX-License-Identifier: AGPL-3.0-only > <div v-if="showing" :class="$style.root" class="_popup _shadow" :style="{ zIndex, top: top + 'px', left: left + 'px' }" @mouseover="() => { emit('mouseover'); }" @mouseleave="() => { emit('mouseleave'); }"> <div v-if="user != null"> - <div :class="$style.banner" :style="user.bannerUrl ? `background-image: url(${user.bannerUrl})` : ''"> + <div :class="$style.banner" :style="user.bannerUrl ? `background-image: url(${defaultStore.state.disableShowingAnimatedImages ? getStaticImageUrl(user.bannerUrl) : user.bannerUrl})` : ''"> <span v-if="$i && $i.id != user.id && user.isFollowed" :class="$style.followed">{{ i18n.ts.followsYou }}</span> </div> <svg viewBox="0 0 128 128" :class="$style.avatarBack"> @@ -67,6 +67,7 @@ import { i18n } from '@/i18n.js'; import { defaultStore } from '@/store.js'; import { $i } from '@/account.js'; import { isFollowingVisibleForMe, isFollowersVisibleForMe } from '@/scripts/isFfVisibleForMe.js'; +import { getStaticImageUrl } from '@/scripts/media-proxy.js'; const props = defineProps<{ showing: boolean; diff --git a/packages/frontend/src/pages/user/home.vue b/packages/frontend/src/pages/user/home.vue index d67990e9a2..1b4ec47469 100644 --- a/packages/frontend/src/pages/user/home.vue +++ b/packages/frontend/src/pages/user/home.vue @@ -173,6 +173,7 @@ import { confetti } from '@/scripts/confetti.js'; import { misskeyApi } from '@/scripts/misskey-api.js'; import { isFollowingVisibleForMe, isFollowersVisibleForMe } from '@/scripts/isFfVisibleForMe.js'; import { useRouter } from '@/router/supplier.js'; +import { getStaticImageUrl } from '@/scripts/media-proxy.js'; function calcAge(birthdate: string): number { const date = new Date(birthdate); @@ -220,8 +221,14 @@ watch(moderationNote, async () => { const style = computed(() => { if (props.user.bannerUrl == null) return {}; - return { - backgroundImage: `url(${ props.user.bannerUrl })`, + if (defaultStore.state.disableShowingAnimatedImages) { + return { + backgroundImage: `url(${ getStaticImageUrl(props.user.bannerUrl) })`, + }; + } else { + return { + backgroundImage: `url(${ props.user.bannerUrl })`, + }; }; }); |