import { Card } from "@material-ui/core"; import CardMenu from "@saleor/components/CardMenu"; import Container from "@saleor/components/Container"; import FilterBar from "@saleor/components/FilterBar"; import PageHeader from "@saleor/components/PageHeader"; import { OrderListQuery, RefreshLimitsQuery } from "@saleor/graphql"; import { sectionNames } from "@saleor/intl"; import { Button, makeStyles } from "@saleor/macaw-ui"; import { OrderListUrlSortField } from "@saleor/orders/urls"; import { FilterPageProps, PageListProps, RelayToFlat, SortPage } from "@saleor/types"; import { hasLimits, isLimitReached } from "@saleor/utils/limits"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; import OrderLimitReached from "../OrderLimitReached"; import OrderList from "../OrderList"; import { createFilterStructure, OrderFilterKeys, OrderListFilterOpts } from "./filters"; export interface OrderListPageProps extends PageListProps, FilterPageProps, SortPage { limits: RefreshLimitsQuery["shop"]["limits"]; orders: RelayToFlat; onSettingsOpen: () => void; } const useStyles = makeStyles( theme => ({ settings: { marginRight: theme.spacing(2) } }), { name: "OrderListPage" } ); const OrderListPage: React.FC = ({ currentTab, initialSearch, filterOpts, limits, tabs, onAdd, onAll, onSearchChange, onSettingsOpen, onFilterChange, onTabChange, onTabDelete, onTabSave, ...listProps }) => { const intl = useIntl(); const classes = useStyles({}); const filterStructure = createFilterStructure(intl, filterOpts); const limitsReached = isLimitReached(limits, "orders"); return ( ) } > {limitsReached && } ); }; OrderListPage.displayName = "OrderListPage"; export default OrderListPage;