Add link card preview with expanding spoiler_text

This commit is contained in:
KMY 2023-08-15 18:37:24 +09:00
parent 90e5d586f3
commit 285e2f82c8
2 changed files with 11 additions and 6 deletions

View file

@ -377,7 +377,7 @@ class Status extends ImmutablePureComponent {
openMedia: this.handleHotkeyOpenMedia,
};
let media, statusAvatar, prepend, rebloggedByText;
let media, isCardMediaWithSensitive, statusAvatar, prepend, rebloggedByText;
if (hidden) {
return (
@ -467,6 +467,8 @@ class Status extends ImmutablePureComponent {
);
}
isCardMediaWithSensitive = false;
if (pictureInPicture.get('inUse')) {
media = <PictureInPicturePlaceholder aspectRatio={this.getAttachmentAspectRatio()} />;
} else if (status.get('media_attachments').size > 0) {
@ -550,7 +552,7 @@ class Status extends ImmutablePureComponent {
</Bundle>
);
}
} else if (status.get('spoiler_text').length === 0 && status.get('card')) {
} else if (status.get('card')) {
media = (
<Card
onOpenMedia={this.handleOpenMedia}
@ -559,6 +561,7 @@ class Status extends ImmutablePureComponent {
sensitive={status.get('sensitive')}
/>
);
isCardMediaWithSensitive = status.get('spoiler_text').length > 0;
}
if (account === undefined || account === null) {
@ -611,7 +614,7 @@ class Status extends ImmutablePureComponent {
onCollapsedToggle={this.handleCollapsedToggle}
/>
{media}
{(!isCardMediaWithSensitive || !status.get('hidden')) && media}
<HashtagBar hashtags={status.get('tags')} text={status.get('content')} />

View file

@ -157,6 +157,7 @@ class DetailedStatus extends ImmutablePureComponent {
}
let media = '';
let isCardMediaWithSensitive = false;
let applicationLink = '';
let reblogLink = '';
let reblogIcon = 'retweet';
@ -230,8 +231,9 @@ class DetailedStatus extends ImmutablePureComponent {
/>
);
}
} else if (status.get('spoiler_text').length === 0) {
} else if (status.get('card')) {
media = <Card sensitive={status.get('sensitive')} onOpenMedia={this.props.onOpenMedia} card={status.get('card', null)} />;
isCardMediaWithSensitive = status.get('spoiler_text').length > 0;
}
let emojiReactionsBar = null;
@ -388,10 +390,10 @@ class DetailedStatus extends ImmutablePureComponent {
onTranslate={this.handleTranslate}
/>
{media}
{(!isCardMediaWithSensitive || !status.get('hidden')) && media}
<HashtagBar hashtags={status.get('tags')} text={status.get('content')} />
{emojiReactionsBar}
<div className='detailed-status__meta'>