feat: Update translation models and enhance order status handling in OrdersTab with new 'picked_up' status and corresponding translations across multiple locales
This commit is contained in:
@@ -33,22 +33,35 @@ import {
|
||||
} from "../../utils/wireGirocodeEligibility.js";
|
||||
|
||||
// Constants
|
||||
const getStatusTranslation = (status, t) => {
|
||||
const getStatusTranslation = (status, deliveryMethod, t) => {
|
||||
const statusMap = {
|
||||
new: t ? t('orders.status.new') : "in Bearbeitung",
|
||||
pending: t ? t('orders.status.pending') : "Neu",
|
||||
processing: t ? t('orders.status.processing') : "in Bearbeitung",
|
||||
paid: t ? t('orders.status.paid') : "Bezahlt",
|
||||
cancelled: t ? t('orders.status.cancelled') : "Storniert",
|
||||
shipped: t ? t('orders.status.shipped') : "Verschickt",
|
||||
delivered: t ? t('orders.status.delivered') : "Geliefert",
|
||||
shipped: deliveryMethod === "Abholung"
|
||||
? (t ? t('orders.status.picked_up') : "Abgeholt")
|
||||
: (t ? t('orders.status.shipped') : "Verschickt"),
|
||||
delivered: deliveryMethod === "Abholung"
|
||||
? (t ? t('orders.status.picked_up') : "Abgeholt")
|
||||
: (t ? t('orders.status.delivered') : "Geliefert"),
|
||||
awaiting_tracking: t ? t('orders.status.awaiting_tracking') : "Wird gepackt",
|
||||
ready_for_pickup: t ? t('orders.status.ready_for_pickup') : "Abholbereit",
|
||||
};
|
||||
return statusMap[status] || status;
|
||||
};
|
||||
|
||||
const statusEmojis = {
|
||||
const getStatusEmoji = (status, deliveryMethod) => {
|
||||
if (deliveryMethod === "Abholung" && status === "shipped") {
|
||||
return "✅";
|
||||
}
|
||||
|
||||
if (deliveryMethod === "Abholung" && status === "delivered") {
|
||||
return "✅";
|
||||
}
|
||||
|
||||
const statusEmojis = {
|
||||
new: "⚙️",
|
||||
pending: "⏳",
|
||||
processing: "🔄",
|
||||
@@ -59,6 +72,8 @@ const statusEmojis = {
|
||||
awaiting_tracking: "📦",
|
||||
ready_for_pickup: "🏪",
|
||||
};
|
||||
return statusEmojis[status] || "❓";
|
||||
};
|
||||
|
||||
const statusColors = {
|
||||
new: "#ed6c02", // orange
|
||||
@@ -140,12 +155,8 @@ const OrdersTab = ({ orderIdFromHash, t }) => {
|
||||
}
|
||||
}, [orderIdFromHash, orders, handleViewDetails]);
|
||||
|
||||
const getStatusDisplay = (status) => {
|
||||
return getStatusTranslation(status, t);
|
||||
};
|
||||
|
||||
const getStatusEmoji = (status) => {
|
||||
return statusEmojis[status] || "❓";
|
||||
const getStatusDisplay = (status, deliveryMethod) => {
|
||||
return getStatusTranslation(status, deliveryMethod, t);
|
||||
};
|
||||
|
||||
const getStatusColor = (status) => {
|
||||
@@ -232,7 +243,7 @@ const OrdersTab = ({ orderIdFromHash, t }) => {
|
||||
</TableHead>
|
||||
<TableBody>
|
||||
{orders.map((order) => {
|
||||
const displayStatus = getStatusDisplay(order.status);
|
||||
const displayStatus = getStatusDisplay(order.status, order.delivery_method);
|
||||
const total = order.items.reduce(
|
||||
(acc, item) => acc + item.price * item.quantity_ordered,
|
||||
0
|
||||
@@ -254,7 +265,7 @@ const OrdersTab = ({ orderIdFromHash, t }) => {
|
||||
}}
|
||||
>
|
||||
<span style={{ fontSize: "1.2rem" }}>
|
||||
{getStatusEmoji(order.status)}
|
||||
{getStatusEmoji(order.status, order.delivery_method)}
|
||||
</span>
|
||||
<Typography
|
||||
variant="body2"
|
||||
|
||||
Reference in New Issue
Block a user