Fix regressions caused by rendering default translation wrapper element (#38412)

This commit is contained in:
diondiondion
2026-03-26 12:16:55 +01:00
committed by GitHub
parent dd8602a928
commit 39ad873589
23 changed files with 52 additions and 41 deletions

View File

@@ -31,7 +31,7 @@ export const Badge: FC<BadgeProps> = ({
data-account-role-id={roleId} data-account-role-id={roleId}
> >
{icon} {icon}
{label} <span>{label}</span>
{domain && <span className='account-role__domain'>{domain}</span>} {domain && <span className='account-role__domain'>{domain}</span>}
</div> </div>
); );

View File

@@ -6,16 +6,12 @@ import { AuthorLink } from 'mastodon/features/explore/components/author_link';
export const MoreFromAuthor: React.FC<{ accountId: string }> = ({ export const MoreFromAuthor: React.FC<{ accountId: string }> = ({
accountId, accountId,
}) => ( }) => (
<FormattedMessage <div className='more-from-author'>
id='link_preview.more_from_author' <IconLogo />
defaultMessage='More from {name}' <FormattedMessage
values={{ name: <AuthorLink accountId={accountId} /> }} id='link_preview.more_from_author'
> defaultMessage='More from {name}'
{(chunks) => ( values={{ name: <AuthorLink accountId={accountId} /> }}
<div className='more-from-author'> />
<IconLogo /> </div>
{chunks}
</div>
)}
</FormattedMessage>
); );

View File

@@ -6,6 +6,7 @@ export const NotSignedInIndicator: React.FC = () => (
<FormattedMessage <FormattedMessage
id='not_signed_in_indicator.not_signed_in' id='not_signed_in_indicator.not_signed_in'
defaultMessage='You need to login to access this resource.' defaultMessage='You need to login to access this resource.'
tagName='span'
/> />
</div> </div>
</div> </div>

View File

@@ -20,6 +20,7 @@ export const RegenerationIndicator: React.FC = () => (
<FormattedMessage <FormattedMessage
id='regeneration_indicator.please_stand_by' id='regeneration_indicator.please_stand_by'
defaultMessage='Please stand by.' defaultMessage='Please stand by.'
tagName='span'
/> />
</div> </div>
</div> </div>

View File

@@ -37,7 +37,11 @@ export const ItemList = forwardRef<
} }
>(({ isLoading, emptyMessage, className, children, ...otherProps }, ref) => { >(({ isLoading, emptyMessage, className, children, ...otherProps }, ref) => {
if (!isLoading && Children.count(children) === 0 && emptyMessage) { if (!isLoading && Children.count(children) === 0 && emptyMessage) {
return <div className='empty-column-indicator'>{emptyMessage}</div>; return (
<div className='empty-column-indicator'>
<span>{emptyMessage}</span>
</div>
);
} }
return ( return (

View File

@@ -385,7 +385,7 @@ class ScrollableList extends PureComponent {
{alwaysPrepend && prepend} {alwaysPrepend && prepend}
<div className='empty-column-indicator'> <div className='empty-column-indicator'>
{emptyMessage} <span>{emptyMessage}</span>
</div> </div>
{footer} {footer}

View File

@@ -435,7 +435,7 @@ class Status extends ImmutablePureComponent {
prepend = ( prepend = (
<div className='status__prepend'> <div className='status__prepend'>
<div className='status__prepend__icon'><Icon id='retweet' icon={RepeatIcon} /></div> <div className='status__prepend__icon'><Icon id='retweet' icon={RepeatIcon} /></div>
<FormattedMessage id='status.reblogged_by' defaultMessage='{name} boosted' values={{ name }} /> <FormattedMessage id='status.reblogged_by' defaultMessage='{name} boosted' values={{ name }} tagName='span' />
</div> </div>
); );
@@ -447,7 +447,7 @@ class Status extends ImmutablePureComponent {
prepend = ( prepend = (
<div className='status__prepend'> <div className='status__prepend'>
<div className='status__prepend__icon'><Icon id='at' icon={AlternateEmailIcon} /></div> <div className='status__prepend__icon'><Icon id='at' icon={AlternateEmailIcon} /></div>
<FormattedMessage id='status.direct_indicator' defaultMessage='Private mention' /> <FormattedMessage id='status.direct_indicator' defaultMessage='Private mention' tagName='span' />
</div> </div>
); );
} else if (showThread && status.get('in_reply_to_id')) { } else if (showThread && status.get('in_reply_to_id')) {

View File

@@ -51,7 +51,7 @@ export const StatusThreadLabel: React.FC<{
<div className='status__prepend__icon'> <div className='status__prepend__icon'>
<Icon id='reply' icon={ReplyIcon} /> <Icon id='reply' icon={ReplyIcon} />
</div> </div>
{label} <span>{label}</span>
</div> </div>
); );
}; };

View File

@@ -65,5 +65,9 @@ export const EmptyMessage: React.FC<EmptyMessageProps> = ({
); );
} }
return <div className='empty-column-indicator'>{message}</div>; return (
<div className='empty-column-indicator'>
<span>{message}</span>
</div>
);
}; };

View File

@@ -78,6 +78,7 @@ export const TagSuggestions: FC = () => {
values={{ values={{
link: (chunks) => <Link to='/profile/featured_tags'>{chunks}</Link>, link: (chunks) => <Link to='/profile/featured_tags'>{chunks}</Link>,
}} }}
tagName='span'
/> />
</Callout> </Callout>
); );
@@ -122,6 +123,7 @@ export const TagSuggestions: FC = () => {
/> />
), ),
}} }}
tagName='span'
/> />
</Callout> </Callout>
); );

View File

@@ -47,6 +47,7 @@ export const Collections: React.FC<{
<FormattedMessage <FormattedMessage
id='collections.error_loading_collections' id='collections.error_loading_collections'
defaultMessage='There was an error when trying to load your collections.' defaultMessage='There was an error when trying to load your collections.'
tagName='span'
/> />
) : ( ) : (
<> <>

View File

@@ -30,17 +30,19 @@ export const UploadProgress: React.FC<UploadProgressProps> = ({
<Icon id='upload' icon={UploadFileIcon} /> <Icon id='upload' icon={UploadFileIcon} />
<div className='upload-progress__message'> <div className='upload-progress__message'>
{isProcessing ? ( <span>
<FormattedMessage {isProcessing ? (
id='upload_progress.processing' <FormattedMessage
defaultMessage='Processing' id='upload_progress.processing'
/> defaultMessage='Processing…'
) : ( />
<FormattedMessage ) : (
id='upload_progress.label' <FormattedMessage
defaultMessage='Uploading…' id='upload_progress.label'
/> defaultMessage='Uploading…'
)} />
)}
</span>
<div className='upload-progress__backdrop'> <div className='upload-progress__backdrop'>
<animated.div className='upload-progress__tracker' style={styles} /> <animated.div className='upload-progress__tracker' style={styles} />

View File

@@ -47,7 +47,7 @@ class Links extends PureComponent {
return ( return (
<div className='explore__links scrollable scrollable--flex'> <div className='explore__links scrollable scrollable--flex'>
<div className='empty-column-indicator'> <div className='empty-column-indicator'>
<FormattedMessage id='empty_column.explore_statuses' defaultMessage='Nothing is trending right now. Check back later!' /> <FormattedMessage id='empty_column.explore_statuses' defaultMessage='Nothing is trending right now. Check back later!' tagName='span' />
</div> </div>
</div> </div>
); );

View File

@@ -45,7 +45,7 @@ class Suggestions extends PureComponent {
return ( return (
<div className='explore__suggestions scrollable scrollable--flex'> <div className='explore__suggestions scrollable scrollable--flex'>
<div className='empty-column-indicator'> <div className='empty-column-indicator'>
<FormattedMessage id='empty_column.explore_statuses' defaultMessage='Nothing is trending right now. Check back later!' /> <FormattedMessage id='empty_column.explore_statuses' defaultMessage='Nothing is trending right now. Check back later!' tagName='span' />
</div> </div>
</div> </div>
); );

View File

@@ -46,7 +46,7 @@ class Tags extends PureComponent {
return ( return (
<div className='explore__links scrollable scrollable--flex'> <div className='explore__links scrollable scrollable--flex'>
<div className='empty-column-indicator'> <div className='empty-column-indicator'>
<FormattedMessage id='empty_column.explore_statuses' defaultMessage='Nothing is trending right now. Check back later!' /> <FormattedMessage id='empty_column.explore_statuses' defaultMessage='Nothing is trending right now. Check back later!' tagName='span' />
</div> </div>
</div> </div>
); );

View File

@@ -63,6 +63,7 @@ const Followers: FC = () => {
<FormattedMessage <FormattedMessage
id='followers.hide_other_followers' id='followers.hide_other_followers'
defaultMessage='This user has chosen to not make their other followers visible' defaultMessage='This user has chosen to not make their other followers visible'
tagName='span'
/> />
</div> </div>
); );

View File

@@ -65,6 +65,7 @@ const Followers: FC = () => {
<FormattedMessage <FormattedMessage
id='following.hide_other_following' id='following.hide_other_following'
defaultMessage='This user has chosen to not make the rest of who they follow visible' defaultMessage='This user has chosen to not make the rest of who they follow visible'
tagName='span'
/> />
</div> </div>
); );

View File

@@ -115,7 +115,7 @@ const Source: React.FC<{ id: ApiSuggestionSourceJSON }> = ({ id }) => {
title={hint} title={hint}
> >
<Icon id='' icon={InfoIcon} /> <Icon id='' icon={InfoIcon} />
{label} <span>{label}</span>
</div> </div>
); );
}; };

View File

@@ -285,6 +285,7 @@ const ListMembers: React.FC<{
<FormattedMessage <FormattedMessage
id='lists.no_results_found' id='lists.no_results_found'
defaultMessage='No results found.' defaultMessage='No results found.'
tagName='span'
/> />
) )
} }

View File

@@ -126,7 +126,7 @@ export const NotificationGroupWithStatus: React.FC<{
</div> </div>
<div className='notification-group__main__header__label'> <div className='notification-group__main__header__label'>
{label} <span>{label}</span>
{timestamp && ( {timestamp && (
<> <>
<span className='notification-group__main__header__label-separator'> <span className='notification-group__main__header__label-separator'>

View File

@@ -194,6 +194,7 @@ const Comment: React.FC<Props> = ({
id='report.forward' id='report.forward'
defaultMessage='Forward to {target}' defaultMessage='Forward to {target}'
values={{ target: domain }} values={{ target: domain }}
tagName='span'
/> />
</label> </label>
))} ))}

View File

@@ -406,6 +406,7 @@ export const DetailedStatus: React.FC<{
<FormattedMessage <FormattedMessage
id='status.direct_indicator' id='status.direct_indicator'
defaultMessage='Private mention' defaultMessage='Private mention'
tagName='span'
/> />
</div> </div>
)} )}

View File

@@ -10679,6 +10679,7 @@ noscript {
&__source { &__source {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
max-width: 100%;
color: var(--color-text-tertiary); color: var(--color-text-tertiary);
gap: 4px; gap: 4px;
overflow: hidden; overflow: hidden;
@@ -10899,12 +10900,6 @@ noscript {
color: var(--color-text-secondary); color: var(--color-text-secondary);
} }
& > span {
display: flex;
align-items: center;
gap: 8px;
}
a { a {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;