2024-12-29 19:59:19 +01:00
|
|
|
import type { IconName } from './media_icon';
|
|
|
|
import { MediaIcon } from './media_icon';
|
2024-10-27 16:08:01 +01:00
|
|
|
import { StatusBanner, BannerVariant } from './status_banner';
|
2024-08-22 19:12:35 +02:00
|
|
|
|
|
|
|
export const ContentWarning: React.FC<{
|
|
|
|
text: string;
|
|
|
|
expanded?: boolean;
|
|
|
|
onClick?: () => void;
|
2024-12-29 19:59:19 +01:00
|
|
|
icons?: IconName[];
|
2024-09-22 20:54:11 +02:00
|
|
|
}> = ({ text, expanded, onClick, icons }) => (
|
2024-10-27 16:08:01 +01:00
|
|
|
<StatusBanner
|
|
|
|
expanded={expanded}
|
|
|
|
onClick={onClick}
|
|
|
|
variant={BannerVariant.Warning}
|
|
|
|
>
|
2024-12-29 19:59:19 +01:00
|
|
|
{icons?.map((icon) => (
|
|
|
|
<MediaIcon
|
|
|
|
className='status__content__spoiler-icon'
|
|
|
|
icon={icon}
|
|
|
|
key={`icon-${icon}`}
|
|
|
|
/>
|
|
|
|
))}
|
2024-10-27 16:08:01 +01:00
|
|
|
<p dangerouslySetInnerHTML={{ __html: text }} />
|
|
|
|
</StatusBanner>
|
2024-08-22 19:12:35 +02:00
|
|
|
);
|