diff --git a/.changeset/mighty-jokes-rest.md b/.changeset/mighty-jokes-rest.md new file mode 100644 index 0000000000..10ccbb1d83 --- /dev/null +++ b/.changeset/mighty-jokes-rest.md @@ -0,0 +1,5 @@ +--- +"@medusajs/dashboard": patch +--- + +feat(dashboard): Improve fully refunded order details diff --git a/packages/admin/dashboard/src/components/table/table-cells/order/total-cell/total-cell.tsx b/packages/admin/dashboard/src/components/table/table-cells/order/total-cell/total-cell.tsx index f9543ad99d..5db4aa0d3a 100644 --- a/packages/admin/dashboard/src/components/table/table-cells/order/total-cell/total-cell.tsx +++ b/packages/admin/dashboard/src/components/table/table-cells/order/total-cell/total-cell.tsx @@ -5,15 +5,16 @@ import { PlaceholderCell } from "../../common/placeholder-cell" type TotalCellProps = { currencyCode: string total: number | null + className?: string } -export const TotalCell = ({ currencyCode, total }: TotalCellProps) => { +export const TotalCell = ({ currencyCode, total, className }: TotalCellProps) => { if (!total) { return } return ( - + ) } diff --git a/packages/admin/dashboard/src/hooks/table/columns/use-order-table-columns.tsx b/packages/admin/dashboard/src/hooks/table/columns/use-order-table-columns.tsx index f26abbc35b..99cd88bce0 100644 --- a/packages/admin/dashboard/src/hooks/table/columns/use-order-table-columns.tsx +++ b/packages/admin/dashboard/src/hooks/table/columns/use-order-table-columns.tsx @@ -98,10 +98,24 @@ export const useOrderTableColumns = (props: UseOrderTableColumnsProps) => { columnHelper.accessor("total", { header: () => , cell: ({ getValue, row }) => { - const total = getValue() - const currencyCode = row.original.currency_code + const isFullyRefunded = row.original.payment_status === "refunded" + const total = !isFullyRefunded + ? getValue() + : row.original.payment_collections.reduce( + (acc, payCol) => acc + (payCol.refunded_amount ?? 0), + 0 + ) + const currencyCode = row.original.currency_code - return + return ( + + ) }, }), columnHelper.display({ diff --git a/packages/admin/dashboard/src/lib/order-helpers.ts b/packages/admin/dashboard/src/lib/order-helpers.ts index 5fee3f1729..4102ba3740 100644 --- a/packages/admin/dashboard/src/lib/order-helpers.ts +++ b/packages/admin/dashboard/src/lib/order-helpers.ts @@ -24,7 +24,7 @@ export const getOrderPaymentStatus = ( ], awaiting: [t("orders.payment.status.awaiting"), "orange"], captured: [t("orders.payment.status.captured"), "green"], - refunded: [t("orders.payment.status.refunded"), "green"], + refunded: [t("orders.payment.status.refunded"), "red"], partially_refunded: [ t("orders.payment.status.partiallyRefunded"), "orange", diff --git a/packages/admin/dashboard/src/routes/orders/order-list/const.ts b/packages/admin/dashboard/src/routes/orders/order-list/const.ts index d1dc5896b1..e3bce4dd14 100644 --- a/packages/admin/dashboard/src/routes/orders/order-list/const.ts +++ b/packages/admin/dashboard/src/routes/orders/order-list/const.ts @@ -11,7 +11,7 @@ export const DEFAULT_PROPERTIES = [ "currency_code", ] -export const DEFAULT_RELATIONS = ["*customer", "*sales_channel"] +export const DEFAULT_RELATIONS = ["*customer", "*sales_channel", "*payment_collections"] export const DEFAULT_FIELDS = `${DEFAULT_PROPERTIES.join( ","