From 1eb89a805aaba99b530e472c25a664ba431cda14 Mon Sep 17 00:00:00 2001 From: Vladimir <70273239+vladimir-8@users.noreply.github.com> Date: Fri, 18 Oct 2024 12:42:27 -0700 Subject: [PATCH] list: display only cash_on_delivery; (restaurant) order details: display all payment methods; (courier) task details: display only cash_on delivery; #1576 #1575 --- src/components/PaymentMethodInfo.js | 22 ++++++++++--- src/components/TaskListItem.js | 5 ++- .../restaurant/components/OrderHeading.js | 7 ++--- .../restaurant/components/OrderListItem.js | 7 ++--- src/navigation/task/components/Details.js | 31 +++++++++---------- 5 files changed, 37 insertions(+), 35 deletions(-) diff --git a/src/components/PaymentMethodInfo.js b/src/components/PaymentMethodInfo.js index 7e0724852..8864d6b12 100644 --- a/src/components/PaymentMethodInfo.js +++ b/src/components/PaymentMethodInfo.js @@ -34,15 +34,27 @@ export const loadDescriptionTranslationKey = paymentMethod => export const isKnownPaymentMethod = paymentMethod => Object.prototype.hasOwnProperty.call(paymentMethods, paymentMethod); -export const PaymentMethodInfo = ({ fullDetail, paymentMethod }) => { - const { t } = useTranslation(); - +export const isDisplayPaymentMethodInList = paymentMethod => { if (!isKnownPaymentMethod(paymentMethod)) { + return false; + } + + return paymentMethod === 'CASH_ON_DELIVERY'; +}; + +export const PaymentMethodInList = ({ paymentMethod }) => { + if (!isDisplayPaymentMethodInList(paymentMethod)) { return null; } - if (!fullDetail) { - return ; + return ; +} + +export const PaymentMethodInOrderDetails = ({ paymentMethod }) => { + const { t } = useTranslation(); + + if (!isKnownPaymentMethod(paymentMethod)) { + return null; } return ( diff --git a/src/components/TaskListItem.js b/src/components/TaskListItem.js index ed18324c2..f84facb0c 100644 --- a/src/components/TaskListItem.js +++ b/src/components/TaskListItem.js @@ -23,7 +23,7 @@ import { taskTypeIconName, } from '../navigation/task/styles/common'; import { greenColor, redColor, yellowColor } from '../styles/common'; -import { PaymentMethodInfo } from './PaymentMethodInfo'; +import { PaymentMethodInList } from './PaymentMethodInfo'; import TaskTitle from './TaskTitle'; const styles = StyleSheet.create({ @@ -270,8 +270,7 @@ class TaskListItem extends Component { ) : null} {task.metadata && task.metadata.payment_method && ( - )} diff --git a/src/navigation/restaurant/components/OrderHeading.js b/src/navigation/restaurant/components/OrderHeading.js index efa761553..05de26d97 100644 --- a/src/navigation/restaurant/components/OrderHeading.js +++ b/src/navigation/restaurant/components/OrderHeading.js @@ -7,7 +7,7 @@ import FontAwesome from 'react-native-vector-icons/FontAwesome'; import material from '../../../../native-base-theme/variables/material'; import OrderFulfillmentMethodIcon from '../../../components/OrderFulfillmentMethodIcon'; -import { PaymentMethodInfo } from '../../../components/PaymentMethodInfo'; +import { PaymentMethodInOrderDetails } from '../../../components/PaymentMethodInfo'; import { resolveFulfillmentMethod } from '../../../utils/order'; import OrderButtons from './OrderButtons'; @@ -79,10 +79,7 @@ const OrderHeading = ({ - + - + {order.notes ? ( ) : null} diff --git a/src/navigation/task/components/Details.js b/src/navigation/task/components/Details.js index 4613ae6f2..71eeb5ed3 100644 --- a/src/navigation/task/components/Details.js +++ b/src/navigation/task/components/Details.js @@ -12,7 +12,7 @@ import FontAwesome5 from 'react-native-vector-icons/FontAwesome5'; import ItemSeparator from '../../../components/ItemSeparator'; import { - isKnownPaymentMethod, + isDisplayPaymentMethodInList, loadDescriptionTranslationKey, loadIconKey, } from '../../../components/PaymentMethodInfo'; @@ -91,10 +91,7 @@ const Details = ({ task, t }) => { }); } - if ( - task.metadata && - task.metadata.has_loopeat_returns - ) { + if (task.metadata && task.metadata.has_loopeat_returns) { items.push({ iconName: 'recycle', iconType: FontAwesome5, @@ -109,6 +106,18 @@ const Details = ({ task, t }) => { }); } + if ( + task.metadata && + task.metadata.payment_method && + isDisplayPaymentMethodInList(task.metadata.payment_method) + ) { + items.push({ + iconName: loadIconKey(task.metadata.payment_method), + iconType: Foundation, + text: t(loadDescriptionTranslationKey(task.metadata.payment_method)), + }); + } + if (task.comments) { items.push({ iconName: 'chatbubbles', @@ -164,18 +173,6 @@ const Details = ({ task, t }) => { }); } - if ( - task.metadata && - task.metadata.payment_method && - isKnownPaymentMethod(task.metadata.payment_method) - ) { - items.push({ - iconName: loadIconKey(task.metadata.payment_method), - iconType: Foundation, - text: t(loadDescriptionTranslationKey(task.metadata.payment_method)), - }); - } - return (