import React from 'react'; import { Trans } from '@lingui/macro'; import makeStyles from '@mui/styles/makeStyles'; import Divider from '@mui/material/Divider'; import Grid from '@mui/material/Grid'; import Typography from '@mui/material/Typography'; import Duration from './Duration'; import Number from './Number'; const useStyles = makeStyles((theme) => ({ box: { backgroundColor: theme.palette.background.modalbox, borderRadius: 4, padding: '1em', height: '100%', }, })); function init({ valid = false, order = 'stop', state = 'disconnected', error = '', reconnect = -1, bitrate = 0, fps = 0, time = 0, speed = 0, q = -1, frames = 0, drop = 0, dup = 0, command = [], cpu = 0, memory = 0, video_codec = '', audio_codec = '', }) { const initProps = { valid: valid, order: order, state: state, error: error, reconnect: reconnect, bitrate: bitrate, fps: fps, time: time, speed: speed, q: q, frames: frames, drop: drop, dup: dup, command: command, cpu: cpu, memory: memory, video_codec: video_codec, audio_codec: audio_codec, }; return initProps; } export default function Progress({ valid = false, order = 'stop', state = 'disconnected', error = '', reconnect = -1, bitrate = 0, fps = 0, time = 0, speed = 0, q = -1, frames = 0, drop = 0, dup = 0, command = [], cpu = 0, memory = 0, video_codec = '', audio_codec = '', }) { const classes = useStyles(); const progress = init({ valid: valid, order: order, state: state, error: error, reconnect: reconnect, bitrate: bitrate, fps: fps, time: time, speed: speed, q: q, frames: frames, drop: drop, dup: dup, command: command, cpu: cpu, memory: memory, video_codec: video_codec, audio_codec: audio_codec, }); return ( Uptime % CPU MB Memory FPS kbit/s Quality Speed % Frame drops Dup. frames ); }