Fix status title for statuses without text (#24359)
This commit is contained in:
parent
10f0de4212
commit
f05fb51ecb
|
@ -69,6 +69,7 @@ const messages = defineMessages({
|
||||||
redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.' },
|
redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.' },
|
||||||
revealAll: { id: 'status.show_more_all', defaultMessage: 'Show more for all' },
|
revealAll: { id: 'status.show_more_all', defaultMessage: 'Show more for all' },
|
||||||
hideAll: { id: 'status.show_less_all', defaultMessage: 'Show less for all' },
|
hideAll: { id: 'status.show_less_all', defaultMessage: 'Show less for all' },
|
||||||
|
statusTitleWithAttachments: { id: 'status.title.with_attachments', defaultMessage: '{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}' },
|
||||||
detailedStatus: { id: 'status.detailed_status', defaultMessage: 'Detailed conversation view' },
|
detailedStatus: { id: 'status.detailed_status', defaultMessage: 'Detailed conversation view' },
|
||||||
replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
|
replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
|
||||||
replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
|
replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
|
||||||
|
@ -166,13 +167,14 @@ const truncate = (str, num) => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const titleFromStatus = status => {
|
const titleFromStatus = (intl, status) => {
|
||||||
const displayName = status.getIn(['account', 'display_name']);
|
const displayName = status.getIn(['account', 'display_name']);
|
||||||
const username = status.getIn(['account', 'username']);
|
const username = status.getIn(['account', 'username']);
|
||||||
const prefix = displayName.trim().length === 0 ? username : displayName;
|
const user = displayName.trim().length === 0 ? username : displayName;
|
||||||
const text = status.get('search_index');
|
const text = status.get('search_index');
|
||||||
|
const attachmentCount = status.get('media_attachments').size;
|
||||||
|
|
||||||
return `${prefix}: "${truncate(text, 30)}"`;
|
return text ? `${user}: "${truncate(text, 30)}"` : intl.formatMessage(messages.statusTitleWithAttachments, { user, attachmentCount });
|
||||||
};
|
};
|
||||||
|
|
||||||
class Status extends ImmutablePureComponent {
|
class Status extends ImmutablePureComponent {
|
||||||
|
@ -670,7 +672,7 @@ class Status extends ImmutablePureComponent {
|
||||||
</ScrollContainer>
|
</ScrollContainer>
|
||||||
|
|
||||||
<Helmet>
|
<Helmet>
|
||||||
<title>{titleFromStatus(status)}</title>
|
<title>{titleFromStatus(intl, status)}</title>
|
||||||
<meta name='robots' content={(isLocal && isIndexable) ? 'all' : 'noindex'} />
|
<meta name='robots' content={(isLocal && isIndexable) ? 'all' : 'noindex'} />
|
||||||
</Helmet>
|
</Helmet>
|
||||||
</Column>
|
</Column>
|
||||||
|
|
|
@ -3732,6 +3732,10 @@
|
||||||
"defaultMessage": "Show less for all",
|
"defaultMessage": "Show less for all",
|
||||||
"id": "status.show_less_all"
|
"id": "status.show_less_all"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"defaultMessage": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
|
"id": "status.title.with_attachments"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"defaultMessage": "Detailed conversation view",
|
"defaultMessage": "Detailed conversation view",
|
||||||
"id": "status.detailed_status"
|
"id": "status.detailed_status"
|
||||||
|
|
|
@ -598,6 +598,7 @@
|
||||||
"status.show_more": "Show more",
|
"status.show_more": "Show more",
|
||||||
"status.show_more_all": "Show more for all",
|
"status.show_more_all": "Show more for all",
|
||||||
"status.show_original": "Show original",
|
"status.show_original": "Show original",
|
||||||
|
"status.title.with_attachments": "{user} posted {attachmentCount, plural, one {an attachment} other {{attachmentCount} attachments}}",
|
||||||
"status.translate": "Translate",
|
"status.translate": "Translate",
|
||||||
"status.translated_from_with": "Translated from {lang} using {provider}",
|
"status.translated_from_with": "Translated from {lang} using {provider}",
|
||||||
"status.uncached_media_warning": "Not available",
|
"status.uncached_media_warning": "Not available",
|
||||||
|
|
|
@ -597,6 +597,7 @@
|
||||||
"status.show_more": "Mostrar más",
|
"status.show_more": "Mostrar más",
|
||||||
"status.show_more_all": "Mostrar más para todo",
|
"status.show_more_all": "Mostrar más para todo",
|
||||||
"status.show_original": "Mostrar original",
|
"status.show_original": "Mostrar original",
|
||||||
|
"status.title.with_attachments": "{user} publicó {attachmentCount, plural, one {un archivo adjunto} other {{attachmentCount} archivos adjuntos}}",
|
||||||
"status.translate": "Traducir",
|
"status.translate": "Traducir",
|
||||||
"status.translated_from_with": "Traducido del {lang} usando {provider}",
|
"status.translated_from_with": "Traducido del {lang} usando {provider}",
|
||||||
"status.uncached_media_warning": "No disponible",
|
"status.uncached_media_warning": "No disponible",
|
||||||
|
|
Loading…
Reference in New Issue