import { Card, CircularProgress as Progress, TableBody, TableCell, TableRow, Typography, } from "@material-ui/core"; import { Button } from "@saleor/components/Button"; import CardTitle from "@saleor/components/CardTitle"; import { IconButton } from "@saleor/components/IconButton"; import { TableButtonWrapper } from "@saleor/components/TableButtonWrapper/TableButtonWrapper"; import { AppsInstallationsQuery, JobStatusEnum } from "@saleor/graphql"; import { DeleteIcon, Indicator, ResponsiveTable, Tooltip, TooltipMountWrapper, } from "@saleor/macaw-ui"; import { renderCollection } from "@saleor/misc"; import classNames from "classnames"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; import { useStyles } from "../../styles"; export interface AppsInProgressProps { appsList: AppsInstallationsQuery["appsInstallations"]; disabled: boolean; onAppInstallRetry: (id: string) => void; onRemove: (id: string) => void; } const AppsInProgress: React.FC = ({ appsList, disabled, onAppInstallRetry, onRemove, ...props }) => { const intl = useIntl(); const classes = useStyles(props); return ( {renderCollection(appsList, ({ status, appName, id, message }) => ( {appName} {status === JobStatusEnum.PENDING && (
)} {status === JobStatusEnum.FAILED && ( onRemove(id)} > )}
))}
); }; AppsInProgress.displayName = "AppsInProgress"; export default AppsInProgress;