import { useTheme } from "@react-navigation/native"; import PropTypes from "prop-types"; import React, { useContext } from "react"; import { TouchableOpacity, View } from "react-native"; import ConfigurationContext from "../../context/Configuration"; import { COLORS } from "../../Theme/Colors"; import { alignment } from "../../utils/alignment"; import { ICONS_NAME, NAVIGATION_SCREEN } from "../../utils/constant"; import { scale } from "../../utils/scaling"; import { CustomIcon } from "../CustomIcon/index"; import EnategaImage from "../EnategaImage/EnategaImage"; import TextDefault from "../Text/TextDefault/TextDefault"; import TextError from "../Text/TextError/TextError"; import TextLine from "../Text/TextLine/TextLine"; import useStyle from "./styles"; import i18n from "../../../i18n"; export const orderStatuses = [ { key: "PENDING", status: 1, icon: ICONS_NAME.Clock, color: COLORS.primary, }, { key: "ACCEPTED", status: 2, icon: ICONS_NAME.Checked, color: COLORS.blueColor, }, { key: "PICKED", status: 3, icon: ICONS_NAME.Checked, color: COLORS.blueColor, }, { key: "DELIVERED", status: 4, icon: ICONS_NAME.Checked, color: COLORS.blueColor, }, { key: "COMPLETED", status: 5, icon: ICONS_NAME.Checked, color: COLORS.blueColor, }, ]; const ActiveOrders = ({ navigation, loading, error, activeOrders, pastOrders, }) => { const styles = useStyle(); const { colors } = useTheme(); const configuration = useContext(ConfigurationContext); if (loading) { return Loading...; } if (error) return ; if (!activeOrders || (activeOrders && !activeOrders.length)) { if (!pastOrders || (pastOrders && !pastOrders.length)) { return ; } return ( ); } const checkStatus = (status) => { const obj = orderStatuses.filter((x) => { return x.key === status; }); return obj[0]; }; return ( {activeOrders.map((item, index) => ( navigation.navigate(NAVIGATION_SCREEN.OrderDetail, { _id: item._id, }) } > {i18n.t("idVar")} {item.order_id} {configuration.currency_symbol} {item.order_amount} {i18n.t(item.order_status)} ))} ); }; ActiveOrders.propTypes = { loading: PropTypes.bool, error: PropTypes.object, activeOrders: PropTypes.arrayOf(PropTypes.object), navigation: PropTypes.object, pastOrders: PropTypes.arrayOf(PropTypes.object), }; export default ActiveOrders;