mirror of
				https://github.com/owncast/owncast.git
				synced 2025-11-04 21:37:31 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { Tag, Tooltip } from 'antd';
 | 
						|
import { FC } from 'react';
 | 
						|
import cn from 'classnames';
 | 
						|
import dynamic from 'next/dynamic';
 | 
						|
import { OwncastLogo } from '../../common/OwncastLogo/OwncastLogo';
 | 
						|
import styles from './Header.module.scss';
 | 
						|
 | 
						|
// Lazy loaded components
 | 
						|
 | 
						|
const UserDropdown = dynamic(
 | 
						|
  () => import('../../common/UserDropdown/UserDropdown').then(mod => mod.UserDropdown),
 | 
						|
  {
 | 
						|
    ssr: false,
 | 
						|
  },
 | 
						|
);
 | 
						|
 | 
						|
export type HeaderComponentProps = {
 | 
						|
  name: string;
 | 
						|
  chatAvailable: boolean;
 | 
						|
  chatDisabled: boolean;
 | 
						|
};
 | 
						|
 | 
						|
export const Header: FC<HeaderComponentProps> = ({
 | 
						|
  name = 'Your stream title',
 | 
						|
  chatAvailable,
 | 
						|
  chatDisabled,
 | 
						|
}) => (
 | 
						|
  <header className={cn([`${styles.header}`], 'global-header')}>
 | 
						|
    <div className={styles.logo}>
 | 
						|
      <div id="header-logo" className={styles.logoImage}>
 | 
						|
        <OwncastLogo variant="contrast" />
 | 
						|
      </div>
 | 
						|
      <h1 className={styles.title} id="global-header-text" title={name}>
 | 
						|
        {name}
 | 
						|
      </h1>
 | 
						|
    </div>
 | 
						|
    {chatAvailable && !chatDisabled && <UserDropdown />}
 | 
						|
    {!chatAvailable && !chatDisabled && (
 | 
						|
      <Tooltip title="Chat is available when the stream is live." placement="left">
 | 
						|
        <Tag style={{ cursor: 'pointer' }}>Chat offline</Tag>
 | 
						|
      </Tooltip>
 | 
						|
    )}
 | 
						|
  </header>
 | 
						|
);
 | 
						|
export default Header;
 |