38 lines
		
	
	
		
			821 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			821 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { FormattedMessage } from 'react-intl';
 | 
						|
 | 
						|
export enum BannerVariant {
 | 
						|
  Yellow = 'yellow',
 | 
						|
  Blue = 'blue',
 | 
						|
}
 | 
						|
 | 
						|
export const StatusBanner: React.FC<{
 | 
						|
  children: React.ReactNode;
 | 
						|
  variant: BannerVariant;
 | 
						|
  expanded?: boolean;
 | 
						|
  onClick?: () => void;
 | 
						|
}> = ({ children, variant, expanded, onClick }) => (
 | 
						|
  <div
 | 
						|
    className={
 | 
						|
      variant === BannerVariant.Yellow
 | 
						|
        ? 'content-warning'
 | 
						|
        : 'content-warning content-warning--filter'
 | 
						|
    }
 | 
						|
  >
 | 
						|
    {children}
 | 
						|
 | 
						|
    <button className='link-button' onClick={onClick}>
 | 
						|
      {expanded ? (
 | 
						|
        <FormattedMessage
 | 
						|
          id='content_warning.hide'
 | 
						|
          defaultMessage='Hide post'
 | 
						|
        />
 | 
						|
      ) : (
 | 
						|
        <FormattedMessage
 | 
						|
          id='content_warning.show'
 | 
						|
          defaultMessage='Show anyway'
 | 
						|
        />
 | 
						|
      )}
 | 
						|
    </button>
 | 
						|
  </div>
 | 
						|
);
 |