Clarify variable names and wording

This commit is contained in:
Ginger 2025-02-16 12:01:20 -05:00
parent 68ac194ed5
commit 514c75e0b5
6 changed files with 22 additions and 22 deletions

View file

@ -179,7 +179,7 @@ type RenderImageContentProps = {
mimeType?: string; mimeType?: string;
url: string; url: string;
encInfo?: IEncryptedFile; encInfo?: IEncryptedFile;
spoiler?: boolean; markedAsSpoiler?: boolean;
spoilerReason?: string; spoilerReason?: string;
}; };
type MImageProps = { type MImageProps = {
@ -208,7 +208,7 @@ export function MImage({ content, renderImageContent, outlined }: MImageProps) {
mimeType: imgInfo?.mimetype, mimeType: imgInfo?.mimetype,
url: mxcUrl, url: mxcUrl,
encInfo: content.file, encInfo: content.file,
spoiler: content[MATRIX_SPOILER_PROPERTY_NAME], markedAsSpoiler: content[MATRIX_SPOILER_PROPERTY_NAME],
spoilerReason: content[MATRIX_SPOILER_REASON_PROPERTY_NAME], spoilerReason: content[MATRIX_SPOILER_REASON_PROPERTY_NAME],
})} })}
</AttachmentBox> </AttachmentBox>

View file

@ -3,6 +3,7 @@ import {
Badge, Badge,
Box, Box,
Button, Button,
Chip,
Icon, Icon,
Icons, Icons,
Modal, Modal,
@ -51,7 +52,7 @@ export type ImageContentProps = {
info?: IImageInfo; info?: IImageInfo;
encInfo?: EncryptedAttachmentInfo; encInfo?: EncryptedAttachmentInfo;
autoPlay?: boolean; autoPlay?: boolean;
spoiler?: boolean; markedAsSpoiler?: boolean;
spoilerReason?: string; spoilerReason?: string;
renderViewer: (props: RenderViewerProps) => ReactNode; renderViewer: (props: RenderViewerProps) => ReactNode;
renderImage: (props: RenderImageProps) => ReactNode; renderImage: (props: RenderImageProps) => ReactNode;
@ -66,7 +67,7 @@ export const ImageContent = as<'div', ImageContentProps>(
info, info,
encInfo, encInfo,
autoPlay, autoPlay,
spoiler, markedAsSpoiler,
spoilerReason, spoilerReason,
renderViewer, renderViewer,
renderImage, renderImage,
@ -81,7 +82,7 @@ export const ImageContent = as<'div', ImageContentProps>(
const [load, setLoad] = useState(false); const [load, setLoad] = useState(false);
const [error, setError] = useState(false); const [error, setError] = useState(false);
const [viewer, setViewer] = useState(false); const [viewer, setViewer] = useState(false);
const [spoiled, setSpoiled] = useState(spoiler ?? false); const [blurred, setBlurred] = useState(markedAsSpoiler ?? false);
const [srcState, loadSrc] = useAsyncCallback( const [srcState, loadSrc] = useAsyncCallback(
useCallback(async () => { useCallback(async () => {
@ -165,7 +166,7 @@ export const ImageContent = as<'div', ImageContentProps>(
</Box> </Box>
)} )}
{srcState.status === AsyncStatus.Success && ( {srcState.status === AsyncStatus.Success && (
<Box className={classNames(css.AbsoluteContainer, spoiled && css.Blur)}> <Box className={classNames(css.AbsoluteContainer, blurred && css.Blur)}>
{renderImage({ {renderImage({
alt: body, alt: body,
title: body, title: body,
@ -177,7 +178,7 @@ export const ImageContent = as<'div', ImageContentProps>(
})} })}
</Box> </Box>
)} )}
{srcState.status === AsyncStatus.Success && spoiled && ( {srcState.status === AsyncStatus.Success && blurred && (
<Box className={css.AbsoluteContainer} alignItems="Center" justifyContent="Center"> <Box className={css.AbsoluteContainer} alignItems="Center" justifyContent="Center">
<TooltipProvider <TooltipProvider
tooltip={ tooltip={
@ -191,17 +192,16 @@ export const ImageContent = as<'div', ImageContentProps>(
align="Center" align="Center"
> >
{(triggerRef) => ( {(triggerRef) => (
<Button <Chip
ref={triggerRef} ref={triggerRef}
variant="Secondary" variant="Secondary"
fill="Solid" radii="Pill"
radii="300" size="500"
size="300" outlined
onClick={() => setSpoiled(false)} onClick={() => setBlurred(false)}
before={<Icon size="Inherit" src={Icons.Eye} filled />}
> >
<Text size="B300">Show</Text> <Text size="B300">Spoiler</Text>
</Button> </Chip>
)} )}
</TooltipProvider> </TooltipProvider>
</Box> </Box>

View file

@ -34,7 +34,7 @@ export function UploadCardRenderer({
if (upload.status === UploadStatus.Idle) startUpload(); if (upload.status === UploadStatus.Idle) startUpload();
const toggleSpoiler = useCallback(() => { const toggleSpoiler = useCallback(() => {
setMetadata({ ...metadata, spoiled: !metadata.spoiled }); setMetadata({ ...metadata, markedAsSpoiler: !metadata.markedAsSpoiler });
}, [setMetadata, metadata]); }, [setMetadata, metadata]);
const removeUpload = () => { const removeUpload = () => {
@ -70,7 +70,7 @@ export function UploadCardRenderer({
<TooltipProvider <TooltipProvider
tooltip={ tooltip={
<Tooltip variant="SurfaceVariant"> <Tooltip variant="SurfaceVariant">
<Text>Spoil Image</Text> <Text>Spoiler Image</Text>
</Tooltip> </Tooltip>
} }
position="Top" position="Top"
@ -85,7 +85,7 @@ export function UploadCardRenderer({
radii="Pill" radii="Pill"
size="300" size="300"
> >
<Icon src={metadata.spoiled ? Icons.EyeBlind : Icons.Eye} size="200" /> <Icon src={metadata.markedAsSpoiler ? Icons.EyeBlind : Icons.Eye} size="200" />
</IconButton> </IconButton>
)} )}
</TooltipProvider> </TooltipProvider>

View file

@ -171,7 +171,7 @@ export const RoomInput = forwardRef<HTMLDivElement, RoomInputProps>(
fileItems.push({ fileItems.push({
...ef, ...ef,
metadata: { metadata: {
spoiled: false, markedAsSpoiler: false,
}, },
}) })
); );
@ -182,7 +182,7 @@ export const RoomInput = forwardRef<HTMLDivElement, RoomInputProps>(
originalFile: f, originalFile: f,
encInfo: undefined, encInfo: undefined,
metadata: { metadata: {
spoiled: false, markedAsSpoiler: false,
}, },
}) })
); );

View file

@ -56,7 +56,7 @@ export const getImageMsgContent = async (
msgtype: MsgType.Image, msgtype: MsgType.Image,
filename: file.name, filename: file.name,
body: file.name, body: file.name,
[MATRIX_SPOILER_PROPERTY_NAME]: metadata.spoiled, [MATRIX_SPOILER_PROPERTY_NAME]: metadata.markedAsSpoiler,
}; };
if (imgEl) { if (imgEl) {
const blurHash = encodeBlurHash(imgEl, 512, scaleYDimension(imgEl.width, 512, imgEl.height)); const blurHash = encodeBlurHash(imgEl, 512, scaleYDimension(imgEl.width, 512, imgEl.height));

View file

@ -7,7 +7,7 @@ import { createUploadAtomFamily } from '../upload';
import { TUploadContent } from '../../utils/matrix'; import { TUploadContent } from '../../utils/matrix';
export type TUploadMetadata = { export type TUploadMetadata = {
spoiled: boolean; markedAsSpoiler: boolean;
}; };
export type TUploadItem = { export type TUploadItem = {