lbry-desktop/ui/component/claimRepostAuthor/view.jsx

65 lines
1.6 KiB
React
Raw Normal View History

2020-01-31 17:43:14 +01:00
// @flow
import * as ICONS from 'constants/icons';
import React from 'react';
import I18nMessage from 'component/i18nMessage';
import UriIndicator from 'component/uriIndicator';
import Icon from 'component/common/icon';
type Props = {
uri: string,
claim: ?Claim,
short: boolean,
2020-01-31 17:43:14 +01:00
};
function ClaimRepostAuthor(props: Props) {
const { claim, short } = props;
2020-01-31 17:43:14 +01:00
const repostChannelUrl = claim && claim.repost_channel_url;
const repostUrl = claim && claim.repost_url;
2020-01-31 17:43:14 +01:00
2021-01-13 16:44:44 +01:00
if (short && repostUrl) {
return (
<span className="claim-preview__repost-author">
2022-04-14 23:27:16 +02:00
<div className="claim-preview__repost-ribbon">
<Icon icon={ICONS.REPOST} size={12} />
<br />
<span>{repostUrl}</span>
</div>
</span>
);
}
2021-01-13 16:44:44 +01:00
if (repostUrl && !repostChannelUrl) {
return (
<div className="claim-preview__repost-author">
<Icon icon={ICONS.REPOST} size={10} />
<span>
2021-01-20 12:00:15 +01:00
<I18nMessage
tokens={{
anonymous: <strong>{__('Anonymous --[used in <%anonymous% Reposted>]--')}</strong>,
}}
>
%anonymous% Reposted
</I18nMessage>
2021-01-13 16:44:44 +01:00
</span>
</div>
);
}
if (!repostUrl) {
return null;
}
2020-01-31 17:43:14 +01:00
return (
<div className="claim-preview__repost-author">
2022-04-14 23:27:16 +02:00
<div className="claim-preview__repost-ribbon">
<Icon icon={ICONS.REPOST} size={10} className="claim-preview__repost-icon" />
<br />
<I18nMessage tokens={{ repost_channel_link: <UriIndicator link uri={repostChannelUrl} /> }}>
%repost_channel_link%
</I18nMessage>
</div>
2020-01-31 17:43:14 +01:00
</div>
);
}
export default ClaimRepostAuthor;