owncast/web/components/ui/Header/Header.tsx
Gabe Kangas 352447e3d4
Web UI frontend automated browser tests (#2223)
* First pass at basic browser tests for #1926

* Run tests against dev web server not go server

* Bundle the web code into the server before running tests

* Move cypress UI tests into its own npm project + add tests

* Add additional tests + wire up with cypress dashboard

* Limit concurrency of workflow jobs

* Temporarily comment out some tests that do not pass in mobile. Will fix later.
2022-11-04 20:04:13 -07:00

34 lines
1.1 KiB
TypeScript

import { Layout, Tag, Tooltip } from 'antd';
import { FC } from 'react';
import cn from 'classnames';
import { UserDropdown } from '../../common/UserDropdown/UserDropdown';
import { OwncastLogo } from '../../common/OwncastLogo/OwncastLogo';
import styles from './Header.module.scss';
const { Header: AntHeader } = Layout;
export type HeaderComponentProps = {
name: string;
chatAvailable: boolean;
chatDisabled: boolean;
};
export const Header: FC<HeaderComponentProps> = ({
name = 'Your stream title',
chatAvailable,
chatDisabled,
}) => (
<AntHeader className={cn([`${styles.header}`], 'global-header')}>
<div className={`${styles.logo}`}>
<OwncastLogo variant="contrast" />
<span className="global-header-text">{name}</span>
</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>
)}
</AntHeader>
);
export default Header;