mirror of
https://github.com/mastodon/mastodon.git
synced 2026-10-09 16:07:52 -05:00
28 lines
739 B
TypeScript
28 lines
739 B
TypeScript
import { useStatus } from '../hooks/useStatus';
|
|
|
|
import { EmojiHTML } from './emoji/html';
|
|
import { StatusBanner, BannerVariant } from './status_banner';
|
|
|
|
export const ContentWarning: React.FC<{
|
|
statusId: string;
|
|
expanded?: boolean;
|
|
onClick?: () => void;
|
|
}> = ({ statusId, expanded, onClick }) => {
|
|
const status = useStatus(statusId);
|
|
const hasSpoiler = !!status?.spoiler_text;
|
|
const text = status?.translation?.spoilerHtml ?? status?.spoilerHtml;
|
|
if (!hasSpoiler || !text) {
|
|
return null;
|
|
}
|
|
|
|
return (
|
|
<StatusBanner
|
|
expanded={expanded}
|
|
onClick={onClick}
|
|
variant={BannerVariant.Warning}
|
|
>
|
|
<EmojiHTML as='span' htmlString={text} extraEmojis={status.emojis} />
|
|
</StatusBanner>
|
|
);
|
|
};
|