Refactor to use 'defaultMediaVisibility' function

This commit is contained in:
Chewbacca
2022-10-20 12:27:59 -04:00
parent 4a573270bd
commit 2c701439d9
5 changed files with 17 additions and 18 deletions

View File

@ -80,7 +80,7 @@ const Status: React.FC<IStatus> = (props) => {
const didShowCard = useRef(false);
const node = useRef<HTMLDivElement>(null);
const [showMedia, setShowMedia] = useState<boolean>(status.visibility === 'self' ? false : defaultMediaVisibility(status, displayMedia));
const [showMedia, setShowMedia] = useState<boolean>(defaultMediaVisibility(status, displayMedia));
const actualStatus = getActualStatus(status);
@ -90,7 +90,7 @@ const Status: React.FC<IStatus> = (props) => {
}, []);
useEffect(() => {
setShowMedia(status.visibility === 'self' ? false : defaultMediaVisibility(status, displayMedia));
setShowMedia(defaultMediaVisibility(status, displayMedia));
}, [status.id]);
const handleToggleMediaVisibility = (): void => {

View File

@ -3,6 +3,7 @@ import React, { useEffect, useState } from 'react';
import { defineMessages, useIntl } from 'react-intl';
import { useSettings, useSoapboxConfig } from 'soapbox/hooks';
import { defaultMediaVisibility } from 'soapbox/utils/status';
import { Button, HStack, Text } from '../ui';
@ -27,23 +28,15 @@ interface ISensitiveContentOverlay {
const SensitiveContentOverlay = (props: ISensitiveContentOverlay) => {
const { onToggleVisibility, status } = props;
const isUnderReview = status.visibility === 'self';
const isSensitive = status.sensitive;
const settings = useSettings();
const displayMedia = settings.get('displayMedia') as string | undefined;
const displayMedia = settings.get('displayMedia') as string;
const intl = useIntl();
const { links } = useSoapboxConfig();
const [visible, setVisible] = useState<boolean>(
isUnderReview === true ? false : null
|| (
props.visible !== undefined
? props.visible
: (displayMedia !== 'hide_all' && !isSensitive || displayMedia === 'show_all')
),
);
const [visible, setVisible] = useState<boolean>(defaultMediaVisibility(status, displayMedia));
const toggleVisibility = (event: React.MouseEvent<HTMLButtonElement>) => {
event.stopPropagation();