import * as React from 'react'; import { useTheme } from 'styled-components/native'; import Box from '@wcpos/components/src/box'; import ErrorBoundary from '@wcpos/components/src/error-boundary'; import Suspense from '@wcpos/components/src/suspense'; import { useQuery } from '@wcpos/query'; import Actions from './cells/actions'; import Address from './cells/address'; import { Cashier } from './cells/cashier'; import { CreatedVia } from './cells/created-via'; import Customer from './cells/customer'; import CustomerNote from './cells/note'; import PaymentMethod from './cells/payment-method'; import Status from './cells/status'; import Total from './cells/total'; import FilterBar from './filter-bar'; import SearchBar from './search-bar'; import { useT } from '../../../contexts/translations'; import DataTable from '../components/data-table'; import { Date } from '../components/date'; import UiSettings from '../components/ui-settings'; import { useUISettings } from '../contexts/ui-settings'; type OrderDocument = import('@wcpos/database').OrderDocument; const cells = { actions: Actions, billing: Address, shipping: Address, customer_id: Customer, customer_note: CustomerNote, status: Status, total: Total, date_created_gmt: Date, date_modified_gmt: Date, date_completed_gmt: Date, payment_method: PaymentMethod, created_via: CreatedVia, cashier: Cashier, }; /** * */ const Orders = () => { const { uiSettings } = useUISettings('orders'); const theme = useTheme(); const t = useT(); /** * */ const query = useQuery({ queryKeys: ['orders'], collectionName: 'orders', initialParams: { sortBy: uiSettings.sortBy, sortDirection: uiSettings.sortDirection, }, }); /** * */ return ( id="orders" query={query} cells={cells} noDataMessage={t('No orders found', { _tags: 'core' })} estimatedItemSize={100} /> ); }; export default Orders;