import { IconDefinition } from "@fortawesome/fontawesome-common-types"; import { faDiscord, faGithub, faWikipediaW, } from "@fortawesome/free-brands-svg-icons"; import { faPaperPlane } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import moment from "moment"; import React, { FunctionComponent, useState } from "react"; import { Col, Container, Row } from "react-bootstrap"; import { Helmet } from "react-helmet"; import { useIntervalWhen } from "rooks"; import { useSystemHealth, useSystemStatus } from "../../@redux/hooks"; import { AsyncOverlay } from "../../components"; import { GithubRepoRoot } from "../../constants"; import "./style.scss"; import Table from "./table"; interface InfoProps { title: string; children: React.ReactNode; } function CRow(props: InfoProps): JSX.Element { const { title, children } = props; return ( {title} {children} ); } interface IconProps { icon: IconDefinition; link: string; children: string; } function Label(props: IconProps): JSX.Element { const { icon, link, children } = props; return ( {children} ); } const InfoContainer: FunctionComponent<{ title: string }> = ({ title, children, }) => { return (

{title}


{children}
); }; interface Props {} const SystemStatusView: FunctionComponent = () => { const health = useSystemHealth(); const status = useSystemStatus(); const [uptime, setState] = useState(); const [intervalWhenState] = useState(true); useIntervalWhen( () => { if (status) { let duration = moment.duration( moment().utc().unix() - status.start_time, "seconds" ), days = duration.days(), hours = duration.hours().toString().padStart(2, "0"), minutes = duration.minutes().toString().padStart(2, "0"), seconds = duration.seconds().toString().padStart(2, "0"); setState(days + "d " + hours + ":" + minutes + ":" + seconds); } }, 1000, intervalWhenState, true ); return ( Status - Bazarr (System) {({ content }) => { return
; }}
{status?.bazarr_version} {status?.operating_system} {status?.python_version} {status?.bazarr_directory} {status?.bazarr_config_directory} {uptime}
); }; export default SystemStatusView;