import { useNavigation, useTheme } from "@react-navigation/native";
import React, { useContext } from "react";
import { FlatList, TouchableOpacity, View } from "react-native";
import ConfigurationContext from "../../../context/Configuration";
import UserContext from "../../../context/User";
import { alignment } from "../../../utils/alignment";
import { NAVIGATION_SCREEN } from "../../../utils/constant";
import Spinner from "../../Spinner/Spinner";
import TextDefault from "../../Text/TextDefault/TextDefault";
import TextError from "../../Text/TextError/TextError";
import useStyle from "./styles";
import i18n from "../../../../i18n";
export const orderStatuses = {
PENDING: {
status: 1,
statusText: "orderPending",
},
ACCEPTED: {
status: 2,
statusText: "prepFood",
},
PICKED: {
status: 3,
statusText: "riderOnWay",
},
DELIVERED: {
status: 4,
statusText: "orderDelivered",
},
COMPLETED: {
status: 5,
statusText: "completeOrder",
},
};
const orderStatusActive = ["PENDING", "PICKED", "ACCEPTED"];
const StatusCard = () => {
const { colors } = useTheme();
const styles = useStyle();
const navigation = useNavigation();
const {
loadingOrders,
errorOrders,
orders,
networkStatusOrders,
fetchOrders,
} = useContext(UserContext);
const configuration = useContext(ConfigurationContext);
if (loadingOrders) return ;
if (errorOrders) return {errorOrders.message};
return (
networkStatusOrders === 7 && fetchOrders()}
data={orders.filter((o) => orderStatusActive.includes(o.order_status))}
keyExtractor={(item, index) => String(index)}
renderItem={({ item, index }) => (
navigation.navigate(NAVIGATION_SCREEN.OrderDetail, {
_id: item._id,
currency_symbol: configuration.currency_symbol,
})
}
>
{i18n.t("orderId")}
{item.order_id}
{i18n.t("status")}
{i18n.t(item.order_status)}{" "}
{`(${i18n.t(orderStatuses[item.order_status]?.statusText)})`}
)}
/>
);
};
export default StatusCard;