import React, { useState } from 'react' import { useLanguage, useUtils } from 'ordering-components/native' import { StyleSheet, TouchableOpacity, ScrollView, Platform } from 'react-native' import { OButton, OText } from '../shared' import { Card, Information, MyOrderOptions, Status, WrappButton } from './styles' import { useTheme } from 'styled-components/native'; import { PreviousOrdersParams } from '../../types' export const PreviousOrders = (props: PreviousOrdersParams) => { const { orders, pagination, onNavigationRedirect, loadMoreOrders, getOrderStatus, handleReorder, reorderLoading, orderID } = props const theme = useTheme(); const styles = StyleSheet.create({ logo: { borderRadius: 10, width: 75, height: 75 }, reorderbutton: { width: 76, height: 26, minHeight: 26, paddingLeft: 0, paddingRight: 0, borderRadius: 20, shadowOpacity: 0 }, reorderLoading: { width: 76, height: 26, minHeight: 26, borderRadius: 20, shadowOpacity: 0 }, buttonText: { color: theme.colors.white, fontSize: 11, fontWeight: Platform.OS === 'ios' ? '600' : 'bold', marginLeft: 2, marginRight: 2 } }) const [, t] = useLanguage() const [reorderSelected, setReorderSelected] = useState(null) const [{ parseDate, optimizeImage }] = useUtils() const allowedOrderStatus = [1, 2, 5, 6, 10, 11, 12] const handleClickViewOrder = (uuid: string) => { onNavigationRedirect && onNavigationRedirect('OrderDetails', { orderId: uuid }) } const handleClickOrderReview = (order: any) => { onNavigationRedirect && onNavigationRedirect('ReviewOrder', { order: { id: order?.id, business_id: order?.business_id, logo: order.business?.logo, products: order?.products } }) } const handleReorderClick = (id: number) => { setReorderSelected(id) handleReorder(id) } return ( {orders.map((order: any) => ( {order.business?.name} {order?.delivery_datetime_utc ? parseDate(order?.delivery_datetime_utc) : parseDate(order?.delivery_datetime, { utc: false })} handleClickViewOrder(order?.uuid)}> {t('MOBILE_FRONT_BUTTON_VIEW_ORDER', 'View order')} { allowedOrderStatus.includes(parseInt(order?.status)) && !order.review && ( <> {' \u2022 '} handleClickOrderReview(order)}> {t('REVIEW', 'Review')} )} {getOrderStatus(order.status)?.value} handleReorderClick(order.id)} isLoading={reorderLoading && order.id === reorderSelected} /> ))} {pagination.totalPages && pagination.currentPage < pagination.totalPages && ( )} ) }