mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-07 19:22:14 +09:00
fix(messages): keep spoilers on forwarded link embeds (#3124)
This commit is contained in:
@@ -445,6 +445,7 @@ export const ForwardedMessageContent = observer(({message, snapshot, onDelete}:
|
|||||||
message={message}
|
message={message}
|
||||||
embedIndex={index}
|
embedIndex={index}
|
||||||
contextualEmbeds={snapshot.embeds}
|
contextualEmbeds={snapshot.embeds}
|
||||||
|
contextualContent={snapshot.content}
|
||||||
onDelete={onDelete}
|
onDelete={onDelete}
|
||||||
isPreview={true}
|
isPreview={true}
|
||||||
data-flx="channel.message-attachments.forwarded-message-content.embed"
|
data-flx="channel.message-attachments.forwarded-message-content.embed"
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ function withFreshEmbedUrls(embed: MessageEmbed): MessageEmbed {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const Embed: FC<EmbedProps> = observer((props: EmbedProps) => {
|
export const Embed: FC<EmbedProps> = observer((props: EmbedProps) => {
|
||||||
const {message, embedIndex, contextualEmbeds, onDelete, isPreview} = props;
|
const {message, embedIndex, contextualEmbeds, contextualContent, onDelete, isPreview} = props;
|
||||||
const embed = withFreshEmbedUrls(props.embed);
|
const embed = withFreshEmbedUrls(props.embed);
|
||||||
const {i18n} = useLingui();
|
const {i18n} = useLingui();
|
||||||
const {enabled: isMobile} = MobileLayout;
|
const {enabled: isMobile} = MobileLayout;
|
||||||
@@ -120,7 +120,8 @@ export const Embed: FC<EmbedProps> = observer((props: EmbedProps) => {
|
|||||||
'data-message-copy-text': copyText,
|
'data-message-copy-text': copyText,
|
||||||
} as const)
|
} as const)
|
||||||
: {};
|
: {};
|
||||||
const spoileredUrls = useMemo(() => extractSpoileredUrls(message.content), [message.content]);
|
const spoilerSourceContent = contextualContent ?? message.content;
|
||||||
|
const spoileredUrls = useMemo(() => extractSpoileredUrls(spoilerSourceContent), [spoilerSourceContent]);
|
||||||
const {isSpoilerEmbed, matchingSpoilerUrls} = useMemo(() => {
|
const {isSpoilerEmbed, matchingSpoilerUrls} = useMemo(() => {
|
||||||
const urlsToCheck = [
|
const urlsToCheck = [
|
||||||
embed.url,
|
embed.url,
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ export interface EmbedProps {
|
|||||||
embedIndex?: number;
|
embedIndex?: number;
|
||||||
onDelete?: (bypassConfirm?: boolean) => void;
|
onDelete?: (bypassConfirm?: boolean) => void;
|
||||||
contextualEmbeds?: ReadonlyArray<MessageEmbed>;
|
contextualEmbeds?: ReadonlyArray<MessageEmbed>;
|
||||||
|
contextualContent?: string;
|
||||||
isPreview?: boolean;
|
isPreview?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user