diff --git a/fluxer_app/src/features/moderation/components/modals/BanMemberModal.tsx b/fluxer_app/src/features/moderation/components/modals/BanMemberModal.tsx index 15c9e3285..9ad3cd0cf 100644 --- a/fluxer_app/src/features/moderation/components/modals/BanMemberModal.tsx +++ b/fluxer_app/src/features/moderation/components/modals/BanMemberModal.tsx @@ -1,7 +1,9 @@ // SPDX-License-Identifier: AGPL-3.0-or-later +import Accessibility from '@app/features/accessibility/state/Accessibility'; import * as Modal from '@app/features/app/components/dialogs/Modal'; import {useAnimatedMediaVideoPlayback} from '@app/features/app/hooks/useAnimatedMediaPlayback'; +import {useSaveData} from '@app/features/app/hooks/useSaveData'; import * as GuildCommands from '@app/features/guild/commands/GuildCommands'; import { CUSTOM_ELLIPSIS_DESCRIPTOR, @@ -124,7 +126,9 @@ interface ComboboxOption { export const BanMemberModal: React.FC<{guildId: string; targetUser: User}> = observer(({guildId, targetUser}) => { const {i18n} = useLingui(); const videoRef = useRef(null); - const videoPlaybackAllowed = useAnimatedMediaVideoPlayback(videoRef); + const dataSaverOn = useSaveData(); + const motionArtworkAllowed = !Accessibility.useReducedMotion && !dataSaverOn; + const videoPlaybackAllowed = useAnimatedMediaVideoPlayback(videoRef, {enabled: motionArtworkAllowed}); const [reason, setReason] = useState(''); const [deleteMessageDays, setDeleteMessageDays] = useState(1); const [banDuration, setBanDuration] = useState(0); @@ -175,19 +179,29 @@ export const BanMemberModal: React.FC<{guildId: string; targetUser: User}> = obs />
- + {motionArtworkAllowed ? ( + + ) : ( + + )}
label={i18n._(BAN_DURATION_DESCRIPTOR)}