import * as React from "react"; import Config from "../../config"; import UnsubmittedVideoListComponent from "./UnsubmittedVideoListComponent"; export interface UnsubmittedVideosProps { } export interface UnsubmittedVideosState { tableVisible: boolean; } class UnsubmittedVideosComponent extends React.Component { constructor(props: UnsubmittedVideosProps) { super(props); this.state = { tableVisible: false, }; } render(): React.ReactElement { const videoCount = Object.keys(Config.local.unsubmittedSegments).length; const segmentCount = Object.values(Config.local.unsubmittedSegments).reduce((acc: number, vid: Array) => acc + vid.length, 0); return <>
{segmentCount == 0 ? chrome.i18n.getMessage("unsubmittedSegmentCountsZero") : chrome.i18n.getMessage("unsubmittedSegmentCounts") .replace("{0}", `${segmentCount} ${chrome.i18n.getMessage("unsubmittedSegments" + (segmentCount == 1 ? "Singular" : "Plural"))}`) .replace("{1}", `${videoCount} ${chrome.i18n.getMessage("videos" + (videoCount == 1 ? "Singular" : "Plural"))}`) }
{videoCount > 0 &&
this.setState({tableVisible: !this.state.tableVisible})}> {chrome.i18n.getMessage(this.state.tableVisible ? "hideUnsubmittedSegments" : "showUnsubmittedSegments")}
} {" "}
{chrome.i18n.getMessage("clearUnsubmittedSegments")}
{this.state.tableVisible && } ; } clearAllSegments(): void { if (confirm(chrome.i18n.getMessage("clearUnsubmittedSegmentsConfirm"))) Config.local.unsubmittedSegments = {}; } } export default UnsubmittedVideosComponent;