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;