import { TableBody, TableCell, TableFooter, TableHead, TableRow } from "@material-ui/core"; import ResponsiveTable from "@saleor/components/ResponsiveTable"; import Skeleton from "@saleor/components/Skeleton"; import { TablePaginationWithContext } from "@saleor/components/TablePagination"; import TableRowLink from "@saleor/components/TableRowLink"; import { makeStyles } from "@saleor/macaw-ui"; import classNames from "classnames"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; import { maybe, renderCollection } from "../../../misc"; import { ListProps } from "../../../types"; export interface TranslatableEntity { id: string; name: string; completion: { current: number; max: number; }; } export interface TranslationsEntitiesListProps extends ListProps { entities: TranslatableEntity[]; getRowHref: (id: string) => string; } const useStyles = makeStyles( { tableRow: { cursor: "pointer" }, textRight: { textAlign: "right" }, wideColumn: { width: "80%" } }, { name: "TranslationsEntitiesList" } ); const TranslationsEntitiesList: React.FC = props => { const { disabled, entities, getRowHref } = props; const classes = useStyles(props); const intl = useIntl(); return ( {renderCollection( entities, entity => ( {entity?.name || } {!!entity?.completion && maybe( () => intl.formatMessage( { id: "ikRuLs", defaultMessage: "{current} of {max}", description: "translation progress" }, entity.completion ), )} ), () => ( ) )} ); }; TranslationsEntitiesList.displayName = "TranslationsEntitiesList"; export default TranslationsEntitiesList;