Merge expandSpoilers and displayMedia into a single option

Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
marcin mikołajczak
2024-04-21 22:06:53 +02:00
parent a5ab595446
commit 9a5f2bbc77
9 changed files with 27 additions and 42 deletions

View File

@ -109,12 +109,10 @@ const QuotedStatus: React.FC<IQuotedStatus> = ({ status, onCancel, compose }) =>
className='relative z-0'
style={{ minHeight: status.sensitive ? Math.max(minHeight, 208) + 12 : undefined }}
>
{status.sensitive && (
<SensitiveContentOverlay
status={status}
ref={overlay}
/>
)}
<SensitiveContentOverlay
status={status}
ref={overlay}
/>
<Stack space={4}>
<StatusContent

View File

@ -369,7 +369,6 @@ const Status: React.FC<IStatus> = (props) => {
react: handleHotkeyReact,
};
const isSensitive = actualStatus.sensitive;
const isSoftDeleted = status.tombstone?.reason === 'deleted';
if (isSoftDeleted) {
@ -424,14 +423,12 @@ const Status: React.FC<IStatus> = (props) => {
<Stack
className='relative z-0'
style={{ minHeight: isSensitive ? Math.max(minHeight, 208) + 12 : undefined }}
style={{ minHeight: actualStatus.sensitive ? Math.max(minHeight, 208) + 12 : undefined }}
>
{(isSensitive) && (
<SensitiveContentOverlay
status={actualStatus}
ref={overlay}
/>
)}
<SensitiveContentOverlay
status={actualStatus}
ref={overlay}
/>
{actualStatus.event ? <EventPreview className='shadow-xl' status={actualStatus} /> : (
<Stack space={4}>

View File

@ -29,16 +29,15 @@ const SensitiveContentOverlay = React.forwardRef<HTMLDivElement, ISensitiveConte
const dispatch = useAppDispatch();
const intl = useIntl();
const { displayMedia, expandSpoilers } = useSettings();
const { displayMedia } = useSettings();
let visible = false;
let visible = !status.sensitive;
if (status.hidden !== null) {
visible = status.hidden;
} else {
if (expandSpoilers) visible = true;
if ((displayMedia === 'default' && status.sensitive) || displayMedia === 'hide_all') visible = false;
}
if (status.hidden !== null) visible = status.hidden;
else if (displayMedia === 'show_all') visible = true;
else if (displayMedia === 'hide_all' && status.media_attachments.size) visible = false;
const showHideButton = status.sensitive || (status.media_attachments.size && displayMedia === 'hide_all');
const toggleVisibility = (event: React.MouseEvent<HTMLButtonElement>) => {
event.stopPropagation();
@ -46,6 +45,8 @@ const SensitiveContentOverlay = React.forwardRef<HTMLDivElement, ISensitiveConte
dispatch(toggleStatusHidden(status));
};
if (visible && !showHideButton) return null;
return (
<div
className={clsx('absolute z-40', {