Styling for video room

This commit is contained in:
Robert Long
2021-08-19 12:11:12 -07:00
parent 91e244772f
commit cc59e42bba
40 changed files with 937 additions and 270 deletions

68
src/RoomButton.jsx Normal file
View File

@@ -0,0 +1,68 @@
import React from "react";
import classNames from "classnames";
import styles from "./RoomButton.module.css";
import { ReactComponent as MicIcon } from "./icons/Mic.svg";
import { ReactComponent as MuteMicIcon } from "./icons/MuteMic.svg";
import { ReactComponent as VideoIcon } from "./icons/Video.svg";
import { ReactComponent as DisableVideoIcon } from "./icons/DisableVideo.svg";
import { ReactComponent as HangupIcon } from "./icons/Hangup.svg";
import { ReactComponent as SettingsIcon } from "./icons/Settings.svg";
export function RoomButton({ on, className, children, ...rest }) {
return (
<button
className={classNames(styles.roomButton, className, { [styles.on]: on })}
{...rest}
>
{children}
</button>
);
}
export function MicButton({ muted, ...rest }) {
return (
<RoomButton {...rest} on={muted}>
{muted ? <MuteMicIcon /> : <MicIcon />}
</RoomButton>
);
}
export function VideoButton({ enabled, ...rest }) {
return (
<RoomButton {...rest} on={enabled}>
{enabled ? <DisableVideoIcon /> : <VideoIcon />}
</RoomButton>
);
}
export function HangupButton({ className, ...rest }) {
return (
<RoomButton
className={classNames(styles.hangupButton, className)}
{...rest}
>
<HangupIcon />
</RoomButton>
);
}
export function HeaderButton({ on, className, children, ...rest }) {
return (
<button
className={classNames(styles.headerButton, className, {
[styles.on]: on,
})}
{...rest}
>
{children}
</button>
);
}
export function SettingsButton(props) {
return (
<HeaderButton {...props}>
<SettingsIcon />
</HeaderButton>
);
}