diff --git a/stores/PosStore.ts b/stores/PosStore.ts index fc8a24dcc..1d626c87f 100644 --- a/stores/PosStore.ts +++ b/stores/PosStore.ts @@ -18,7 +18,8 @@ const genIdemptotencyKey = () => `${genHex(8)}-${genHex(4)}-${genHex(4)}-${genHex(4)}-${genHex(12)}}`; export default class PosStore { - @observable public orders: any = {}; + @observable public orders: Array = []; + @observable public filteredOrders: Array = []; @observable public loading = false; @observable public error = false; @@ -28,6 +29,15 @@ export default class PosStore { this.settingsStore = settingsStore; } + @action + public updateSearch = (value: string) => { + this.filteredOrders = this.orders.filter( + (item: any) => + item.getItemsList.includes(value) || + item.getItemsList.toLowerCase().includes(value) + ); + }; + @action public makePayment = ({ orderId, @@ -42,7 +52,7 @@ export default class PosStore { ReactNativeBlobUtil.fetch( 'POST', // DEV -> 'https://connect.squareupsandbox.com/v2/payments', - 'https://connect.squareup.com/v2/payments', + 'https://connect.squareupsandbox.com/v2/payments', { Authorization: `Bearer ${squareAccessToken}`, 'Content-Type': 'application/json' @@ -91,7 +101,7 @@ export default class PosStore { ReactNativeBlobUtil.fetch( 'POST', // DEV -> 'https://connect.squareupsandbox.com/v2/orders/search' - 'https://connect.squareup.com/v2/orders/search', + 'https://connect.squareupsandbox.com/v2/orders/search', { Authorization: `Bearer ${squareAccessToken}`, 'Content-Type': 'application/json' @@ -115,6 +125,7 @@ export default class PosStore { .json() .orders.map((order: any) => new Order(order)); this.orders = orders; + this.filteredOrders = orders; } else { this.orders = []; this.loading = false; diff --git a/views/Order.tsx b/views/Order.tsx index 9142ea9ec..f9b1f28b6 100644 --- a/views/Order.tsx +++ b/views/Order.tsx @@ -172,7 +172,9 @@ export default class OrderView extends React.Component { ).toFixed(2); } else if (customType === 'amount') { totalAmount = !isNaN(Number(customAmount)) - ? order.getTotalMoney + Number(customAmount) + ? `${Number( + Number(order.getTotalMoney) + Number(customAmount) + ).toFixed(2)}` : order.getTotalMoney; tipAmount = !isNaN(Number(customAmount)) ? Number(customAmount).toFixed(2) diff --git a/views/Wallet/PosPane.tsx b/views/Wallet/PosPane.tsx index 1250e2fee..2c0837141 100644 --- a/views/Wallet/PosPane.tsx +++ b/views/Wallet/PosPane.tsx @@ -74,19 +74,6 @@ export default class PosPane extends React.PureComponent< ).start(); } - updateSearch = (value: string) => { - const { orders } = this.props.PosStore; - const result = orders.filter( - (item: any) => - item.getItemsList.includes(value) || - item.getItemsList.toLowerCase().includes(value) - ); - this.setState({ - search: value, - filteredOrders: result - }); - }; - renderItem = (order) => { const { navigation, FiatStore } = this.props; const { getRate } = FiatStore; @@ -111,11 +98,10 @@ export default class PosPane extends React.PureComponent< render() { const { SettingsStore, PosStore, FiatStore, navigation } = this.props; - const { search, filteredOrders } = this.state; - const { loading, getOrders } = PosStore; - const orders = filteredOrders; + const { search } = this.state; + const { loading, getOrders, filteredOrders, updateSearch } = PosStore; const { getRate, getFiatRates } = FiatStore; - const fiatLoading = FiatStore.loading; + const orders = filteredOrders; const headerString = `${localeString('general.orders')} (${ orders.length || 0 @@ -129,7 +115,7 @@ export default class PosPane extends React.PureComponent< SettingsStore={SettingsStore} /> - {fiatLoading ? ( + {getRate() === '$N/A' ? ( { + updateSearch(value); + this.setState({ + search: value + }); + }} value={search} inputStyle={{ color: themeColor('text')