import * as React from 'react'; import { StackActions } from '@react-navigation/native'; import { createStackNavigator } from '@react-navigation/stack'; import get from 'lodash/get'; import { ObservableResource } from 'observable-hooks'; import { from } from 'rxjs'; import ErrorBoundary from '@wcpos/components/src/error-boundary'; import Suspense from '@wcpos/components/src/suspense'; import Text from '@wcpos/components/src/text'; import EditOrder from './edit-order'; import Orders from './orders'; import { useT } from '../../../contexts/translations'; import { ModalLayout } from '../../components/modal-layout'; import { useCollection } from '../hooks/use-collection'; import Receipt from '../receipt'; import type { NativeStackScreenProps } from '@react-navigation/native-stack'; export type OrdersStackParamList = { Orders: undefined; EditOrder: { orderID: string }; Receipt: { orderID: string }; }; const Stack = createStackNavigator(); /** * */ const OrdersWithProviders = () => { return ( ); }; /** * */ const EditOrderWithProviders = ({ route, navigation, }: NativeStackScreenProps) => { const orderID = get(route, ['params', 'orderID']); const { collection } = useCollection('orders'); const t = useT(); const resource = React.useMemo( () => new ObservableResource(from(collection.findOneFix(orderID).exec())), [collection, orderID] ); return ( navigation.dispatch(StackActions.pop(1)), }, ]} > ); }; /** * */ const ReceiptWithProviders = ({ route, }: NativeStackScreenProps) => { const orderID = get(route, ['params', 'orderID']); const { collection } = useCollection('orders'); const t = useT(); const resource = React.useMemo( () => new ObservableResource(from(collection.findOneFix(orderID).exec())), [collection, orderID] ); return ( ); }; /** * */ const OrdersNavigator = () => { return ( ); }; export default OrdersNavigator;