import Link from "next/link"; import { FC } from "react"; import Avatar from "@mui/material/Avatar"; import Box from "@mui/material/Box"; import CircularProgress from "@mui/material/CircularProgress"; import Grid from "@mui/material/Grid"; import Paper from "@mui/material/Paper"; import Tooltip from "@mui/material/Tooltip"; import Typography from "@mui/material/Typography"; import { red } from "@mui/material/colors"; import { useTheme } from "@mui/material/styles"; import { abbreviateNumber } from "@src/utils/"; import VideoModel from "@interfaces/video"; import { useAuthorThumbnail } from "@utils/requests"; const Video: FC<{ video: VideoModel }> = ({ video }) => { const theme = useTheme(); const { ref, isLoading, thumbnail: authorThumbnail } = useAuthorThumbnail(video.author.id, 176); return ( {video.live && ( Live )} {/* eslint-disable-next-line @next/next/no-img-element */} thumbnail {video.title} {!(video.live || video.upcoming) && ( <> {abbreviateNumber(video.views)} Views • Published{" "} {video.published.text} )} {video.live && <>🔴 Live now} {video.upcoming && video.premiereTimestamp && ( <> Premiering on{" "} {new Date(video.premiereTimestamp * 1000).toLocaleDateString()}{" "} at{" "} {new Date(video.premiereTimestamp * 1000).toLocaleTimeString()} )} {video.description.text} {isLoading && } {!isLoading && ( )} {video.author.name} ); }; export default Video;