fix(admin): add COMPLETED state in dashboard, orders list and detail with lowercase label
This commit is contained in:
4
project/apps/admin/next-env.d.ts
vendored
4
project/apps/admin/next-env.d.ts
vendored
@@ -1,7 +1,7 @@
|
||||
/// <reference types="next" />
|
||||
/// <reference types="next/image-types/global" />
|
||||
import "./.next/dev/types/routes.d.ts";
|
||||
import "./.next/dev/types/root-params.d.ts";
|
||||
import "./.next/types/routes.d.ts";
|
||||
import "./.next/types/root-params.d.ts";
|
||||
|
||||
// NOTE: This file should not be edited
|
||||
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
||||
|
||||
@@ -12,6 +12,7 @@ const STATE_LABELS: Record<OrderState, string> = {
|
||||
PROCESSING: 'En preparación',
|
||||
SHIPPED: 'Enviado',
|
||||
DELIVERED: 'Entregado',
|
||||
COMPLETED: 'completado',
|
||||
CANCELLED: 'Cancelado',
|
||||
REFUNDED: 'Reembolsado',
|
||||
PARTIALLY_REFUNDED: 'Reembolso parcial',
|
||||
@@ -24,6 +25,7 @@ const STATE_COLORS: Record<OrderState, string> = {
|
||||
PROCESSING: 'bg-indigo-100 text-indigo-800',
|
||||
SHIPPED: 'bg-purple-100 text-purple-800',
|
||||
DELIVERED: 'bg-green-100 text-green-800',
|
||||
COMPLETED: 'bg-emerald-100 text-emerald-800',
|
||||
CANCELLED: 'bg-red-100 text-red-800',
|
||||
REFUNDED: 'bg-purple-100 text-purple-800',
|
||||
PARTIALLY_REFUNDED: 'bg-pink-100 text-pink-800',
|
||||
@@ -32,10 +34,11 @@ const STATE_COLORS: Record<OrderState, string> = {
|
||||
const ALLOWED_TRANSITIONS: Record<OrderState, OrderState[]> = {
|
||||
PENDING: ['AWAITING_PAYMENT', 'CANCELLED'],
|
||||
AWAITING_PAYMENT: ['PAID', 'CANCELLED'],
|
||||
PAID: ['PROCESSING', 'CANCELLED', 'REFUNDED'],
|
||||
PROCESSING: ['PAID', 'SHIPPED', 'CANCELLED', 'REFUNDED'],
|
||||
PAID: ['PROCESSING', 'COMPLETED', 'CANCELLED', 'REFUNDED'],
|
||||
PROCESSING: ['PAID', 'SHIPPED', 'COMPLETED', 'CANCELLED', 'REFUNDED'],
|
||||
SHIPPED: ['PROCESSING', 'DELIVERED', 'PARTIALLY_REFUNDED'],
|
||||
DELIVERED: ['SHIPPED', 'PARTIALLY_REFUNDED'],
|
||||
COMPLETED: ['REFUNDED', 'PARTIALLY_REFUNDED'],
|
||||
CANCELLED: [],
|
||||
REFUNDED: [],
|
||||
PARTIALLY_REFUNDED: [],
|
||||
@@ -49,10 +52,12 @@ const ACTION_LABELS_BY_TRANSITION: Record<string, string> = {
|
||||
'AWAITING_PAYMENT>PAID': 'Marcar como Pagado',
|
||||
'AWAITING_PAYMENT>CANCELLED': 'Cancelar pedido',
|
||||
'PAID>PROCESSING': 'Preparar pedido',
|
||||
'PAID>COMPLETED': 'Marcar como completado',
|
||||
'PAID>CANCELLED': 'Cancelar pedido',
|
||||
'PAID>REFUNDED': 'Reembolsar',
|
||||
'PROCESSING>PAID': 'Revertir a Pagado',
|
||||
'PROCESSING>SHIPPED': 'Marcar como Enviado',
|
||||
'PROCESSING>COMPLETED': 'Marcar como completado',
|
||||
'PROCESSING>CANCELLED': 'Cancelar pedido',
|
||||
'PROCESSING>REFUNDED': 'Reembolsar',
|
||||
'SHIPPED>PROCESSING': 'Revertir a En preparación',
|
||||
@@ -60,6 +65,8 @@ const ACTION_LABELS_BY_TRANSITION: Record<string, string> = {
|
||||
'SHIPPED>PARTIALLY_REFUNDED': 'Reembolso parcial',
|
||||
'DELIVERED>SHIPPED': 'Revertir a Enviado',
|
||||
'DELIVERED>PARTIALLY_REFUNDED': 'Reembolso parcial',
|
||||
'COMPLETED>REFUNDED': 'Reembolsar',
|
||||
'COMPLETED>PARTIALLY_REFUNDED': 'Reembolso parcial',
|
||||
};
|
||||
|
||||
function actionLabel(from: OrderState, to: OrderState): string {
|
||||
|
||||
@@ -11,6 +11,7 @@ const ORDER_STATES: OrderState[] = [
|
||||
'PROCESSING',
|
||||
'SHIPPED',
|
||||
'DELIVERED',
|
||||
'COMPLETED',
|
||||
'CANCELLED',
|
||||
'REFUNDED',
|
||||
'PARTIALLY_REFUNDED',
|
||||
@@ -23,6 +24,7 @@ const STATE_LABELS: Record<OrderState, string> = {
|
||||
PROCESSING: 'En preparación',
|
||||
SHIPPED: 'Enviado',
|
||||
DELIVERED: 'Entregado',
|
||||
COMPLETED: 'completado',
|
||||
CANCELLED: 'Cancelado',
|
||||
REFUNDED: 'Reembolsado',
|
||||
PARTIALLY_REFUNDED: 'Reembolso parcial',
|
||||
@@ -35,6 +37,7 @@ const STATE_COLORS: Record<OrderState, string> = {
|
||||
PROCESSING: 'bg-indigo-100 text-indigo-800',
|
||||
SHIPPED: 'bg-purple-100 text-purple-800',
|
||||
DELIVERED: 'bg-green-100 text-green-800',
|
||||
COMPLETED: 'bg-emerald-100 text-emerald-800',
|
||||
CANCELLED: 'bg-red-100 text-red-800',
|
||||
REFUNDED: 'bg-purple-100 text-purple-800',
|
||||
PARTIALLY_REFUNDED: 'bg-pink-100 text-pink-800',
|
||||
|
||||
@@ -25,6 +25,7 @@ const STATE_LABELS: Record<string, string> = {
|
||||
PROCESSING: 'Procesando',
|
||||
SHIPPED: 'Enviados',
|
||||
DELIVERED: 'Entregados',
|
||||
COMPLETED: 'completados',
|
||||
CANCELLED: 'Cancelados',
|
||||
REFUNDED: 'Reembolsados',
|
||||
PARTIALLY_REFUNDED: 'Reembolso parcial',
|
||||
@@ -37,6 +38,7 @@ const STATE_COLORS: Record<string, string> = {
|
||||
PROCESSING: 'bg-blue-100 text-blue-700',
|
||||
SHIPPED: 'bg-indigo-100 text-indigo-700',
|
||||
DELIVERED: 'bg-emerald-100 text-emerald-700',
|
||||
COMPLETED: 'bg-emerald-100 text-emerald-700',
|
||||
CANCELLED: 'bg-gray-100 text-gray-600',
|
||||
REFUNDED: 'bg-red-100 text-red-700',
|
||||
PARTIALLY_REFUNDED: 'bg-pink-100 text-pink-700',
|
||||
|
||||
@@ -100,6 +100,7 @@ export type OrderState =
|
||||
| 'PROCESSING'
|
||||
| 'SHIPPED'
|
||||
| 'DELIVERED'
|
||||
| 'COMPLETED'
|
||||
| 'CANCELLED'
|
||||
| 'REFUNDED'
|
||||
| 'PARTIALLY_REFUNDED';
|
||||
|
||||
@@ -43,12 +43,12 @@ export async function registerAdminStatsRoutes(
|
||||
)
|
||||
.then((r) => parseInt(r.rows[0]?.count ?? '0', 10)),
|
||||
|
||||
// Revenue today (sum of PAID, PROCESSING, SHIPPED, DELIVERED orders)
|
||||
// Revenue today (sum of PAID, PROCESSING, SHIPPED, DELIVERED, COMPLETED orders)
|
||||
pool
|
||||
.query<{ total: string }>(
|
||||
`SELECT COALESCE(SUM(total_cents), 0)::text AS total FROM orders_orders
|
||||
WHERE created_at >= CURRENT_DATE
|
||||
AND state IN ('PAID','PROCESSING','SHIPPED','DELIVERED')`,
|
||||
AND state IN ('PAID','PROCESSING','SHIPPED','DELIVERED','COMPLETED')`,
|
||||
)
|
||||
.then((r) => parseInt(r.rows[0]?.total ?? '0', 10)),
|
||||
|
||||
|
||||
Reference in New Issue
Block a user