import { DateTime } from "luxon"; import Link from "next/link"; import { FC } from "react"; import Avatar from "@mui/material/Avatar"; import Box from "@mui/material/Box"; import Card from "@mui/material/Card"; import CardActionArea from "@mui/material/CardActionArea"; import CardContent from "@mui/material/CardContent"; import CardMedia from "@mui/material/CardMedia"; import CircularProgress from "@mui/material/CircularProgress"; import Tooltip from "@mui/material/Tooltip"; import Typography from "@mui/material/Typography"; import { useTheme } from "@mui/material/styles"; import { abbreviateNumber, formatTime } from "@src/utils"; import VideoModel from "@interfaces/video"; import { useAuthorThumbnail } from "@utils/requests"; const Video: FC = (video) => { const theme = useTheme(); const { ref, isLoading, thumbnail: authorThumbnail } = useAuthorThumbnail(video.author.id, 100); return ( {formatTime(video.length)} {video.title} {isLoading && } {!isLoading && ( )} {video.author.name} {!(video.live || video.upcoming) && ( <> {abbreviateNumber(video.views)} Views • Published{" "} {video.published.text} )} ); }; export default Video;