import React from "react" import Loader from "../loader/loader" import PropTypes from "prop-types" import { Map, List } from "immutable" import { OverlayTrigger, Tooltip } from "react-bootstrap" const Modules = (props) => { if (props.isLoading) { return } return (

Modules

{props.modules && props.modules.keySeq().map((value, key) => ( ))}
); } Modules.propTypes = { isLoading: PropTypes.bool.isRequired, modules: PropTypes.instanceOf(Map), }; export default Modules; const capitalize = (string) => string.charAt(0).toUpperCase() + string.slice(1); const ModulesByVideoType = (props) => (

{capitalize(props.videoType)} {/* Movie or Show */}

{props.data.keySeq().map((value, key) => ( ))}
); ModulesByVideoType.propTypes = { videoType: PropTypes.string.isRequired, data: PropTypes.instanceOf(Map), }; const ModuleByType = (props) => (

{props.type} {/* Detailer / Explorer / ... */}

{props.data.map(function(value, key) { return ( ); })}
); ModuleByType.propTypes = { type: PropTypes.string.isRequired, data: PropTypes.instanceOf(List), }; const Module = (props) => { let iconClass, prettyStatus, labelClass; const name = props.data.get("name"); switch(props.data.get("status")) { case "ok": iconClass = "fa fa-check-circle" labelClass = "label label-success" prettyStatus = "OK" break; case "fail": iconClass = "fa fa-times-circle" labelClass = "label label-danger" prettyStatus = "Fail" break; case "not_implemented": iconClass = "fa fa-question-circle" labelClass = "label label-default" prettyStatus = "Not implemented" break; default: iconClass = "fa fa-question-circle" labelClass = "label label-warning" prettyStatus = "Unknown" } const tooltip = (

Status: {prettyStatus}

Error: {props.data.get("error")}

); return ( {name} {prettyStatus} ); } Module.propTypes = { data: PropTypes.instanceOf(Map), };