diff --git a/ui/src/List/VideoList.tsx b/ui/src/List/VideoList.tsx index 81b595d..c018dc2 100644 --- a/ui/src/List/VideoList.tsx +++ b/ui/src/List/VideoList.tsx @@ -101,22 +101,22 @@ const VideoList = ({ key={r.startId} onClick={() => setActiveRecording([stream, r])} > - + {formatTime(Math.max(r.startTime90k, range90k![0]))} - + {formatTime(Math.min(r.endTime90k, range90k![1]))} - + {vse.width}x{vse.height} - + {frameRateFmt.format(r.videoSamples / durationSec)} - + {sizeFmt.format(r.sampleFileBytes / 1048576)} MiB - + {sizeFmt.format((r.sampleFileBytes / durationSec) * 0.000008)} Mbps diff --git a/ui/src/List/index.tsx b/ui/src/List/index.tsx index 7dce6f9..b18e602 100644 --- a/ui/src/List/index.tsx +++ b/ui/src/List/index.tsx @@ -22,18 +22,13 @@ import TimerangeSelector from "./TimerangeSelector"; const useStyles = makeStyles((theme: Theme) => ({ root: { display: "flex", - [theme.breakpoints.down("md")]: { - flexDirection: "column", - }, + flexWrap: "wrap", margin: theme.spacing(2), }, selectors: { - [theme.breakpoints.up("md")]: { - marginRight: theme.spacing(2), - }, - [theme.breakpoints.down("md")]: { - marginBottom: theme.spacing(2), - }, + marginRight: theme.spacing(2), + marginBottom: theme.spacing(2), + width: "max-content", }, video: { objectFit: "contain", @@ -46,12 +41,21 @@ const useStyles = makeStyles((theme: Theme) => ({ color: theme.palette.primary.contrastText, }, videoTable: { - flexGrow: 1, + width: "max-content", + height: "max-content", "& .MuiTableBody-root:not(:last-child):after": { content: "''", display: "block", height: theme.spacing(2), }, + "& tbody tr": { + cursor: "pointer", + }, + "& .opt": { + [theme.breakpoints.down("lg")]: { + display: "none", + }, + }, }, })); @@ -99,12 +103,18 @@ const Main = ({ cameras, timeZoneName }: Props) => { - start - end - resolution - fps - storage - bitrate + start + end + + resolution + + + fps + + + storage + + bitrate { setActiveRecording(null); }; const recordingsTable = ( - - - {videoLists} -
+ + {videoLists}
); return (