import React, { useState, useEffect } from 'react'; import { Table, Typography } from 'antd'; import { SERVER_CONFIG, fetchData, FETCH_INTERVAL } from './utils/apis'; const { Title } = Typography; function VideoVariants({ config }) { if (!config) { return null; } const videoQualityColumns = [ { title: "Video bitrate", dataIndex: "videoBitrate", key: "videoBitrate", render: (bitrate) => bitrate === 0 || !bitrate ? "Passthrough" : `${bitrate} kbps`, }, { title: "Framerate", dataIndex: "framerate", key: "framerate", }, { title: "Encoder preset", dataIndex: "encoderPreset", key: "framerate", }, { title: "Audio bitrate", dataIndex: "audioBitrate", key: "audioBitrate", render: (bitrate) => bitrate === 0 || !bitrate ? "Passthrough" : `${bitrate} kbps`, }, ]; const miscVideoSettingsColumns = [ { title: "Name", dataIndex: "name", key: "name", }, { title: "Value", dataIndex: "value", key: "value", }, ]; const miscVideoSettings = [ { name: "Segment length", value: config.videoSettings.segmentLengthSeconds, }, { name: "Number of segments", value: config.videoSettings.numberOfPlaylistItems, }, ]; return (
Video configuration
); } export default function VideoConfig() { const [config, setConfig] = useState(); const getInfo = async () => { try { const result = await fetchData(SERVER_CONFIG); console.log("viewers result", result) setConfig({ ...result }); } catch (error) { setConfig({ ...config, message: error.message }); } }; useEffect(() => { let getStatusIntervalId = null; getInfo(); getStatusIntervalId = setInterval(getInfo, FETCH_INTERVAL); // returned function will be called on component unmount return () => { clearInterval(getStatusIntervalId); } }, []); return (

Server Config

Display this data all pretty, most things will be editable in the future, not now.

); }