diff --git a/apps/cowswap-frontend/src/modules/ordersTable/containers/OrdersTableWidget/hooks/useOrdersTableList.ts b/apps/cowswap-frontend/src/modules/ordersTable/containers/OrdersTableWidget/hooks/useOrdersTableList.ts index 3d34de1be2..309a715bb2 100644 --- a/apps/cowswap-frontend/src/modules/ordersTable/containers/OrdersTableWidget/hooks/useOrdersTableList.ts +++ b/apps/cowswap-frontend/src/modules/ordersTable/containers/OrdersTableWidget/hooks/useOrdersTableList.ts @@ -68,16 +68,16 @@ export function useOrdersTableList( setIsOrderUnfillable({ chainId, id: order.id, isUnfillable }) } - // Only add to unfillable if the order is both pending and unfillable - if (isPending && isUnfillable) { - acc.unfillable.push(item) - } - // Add to signing if in presignature pending state if (isSigning) { acc.signing.push(item) } + // Add to unfillable only if pending, unfillable, and not in signing state + if (isPending && isUnfillable && !isSigning) { + acc.unfillable.push(item) + } + // Add to pending or history based on status if (isPending && !isSigning) { acc.pending.push(item) diff --git a/apps/cowswap-frontend/src/modules/ordersTable/pure/OrderStatusBox/getOrderStatusTitleAndColor.ts b/apps/cowswap-frontend/src/modules/ordersTable/pure/OrderStatusBox/getOrderStatusTitleAndColor.ts index 1827145e21..14dfd10ca3 100644 --- a/apps/cowswap-frontend/src/modules/ordersTable/pure/OrderStatusBox/getOrderStatusTitleAndColor.ts +++ b/apps/cowswap-frontend/src/modules/ordersTable/pure/OrderStatusBox/getOrderStatusTitleAndColor.ts @@ -53,15 +53,6 @@ export function getOrderStatusTitleAndColor(order: ParsedOrder): { title: string } } - // Handle unfillable orders - if (order.isUnfillable) { - return { - title: 'Unfillable', - color: `var(${UI.COLOR_DANGER_TEXT})`, - background: `var(${UI.COLOR_DANGER_BG})`, - } - } - // Handle signing state if (order.status === OrderStatus.PRESIGNATURE_PENDING) { return { @@ -71,6 +62,15 @@ export function getOrderStatusTitleAndColor(order: ParsedOrder): { title: string } } + // Handle unfillable orders + if (order.isUnfillable) { + return { + title: 'Unfillable', + color: `var(${UI.COLOR_DANGER_TEXT})`, + background: `var(${UI.COLOR_DANGER_BG})`, + } + } + // Finally, map order status to their display version return { title: orderStatusTitleMap[order.status], diff --git a/apps/cowswap-frontend/src/modules/ordersTable/pure/OrdersTableContainer/OrderRow/index.tsx b/apps/cowswap-frontend/src/modules/ordersTable/pure/OrdersTableContainer/OrderRow/index.tsx index ae3a169078..28c433e3af 100644 --- a/apps/cowswap-frontend/src/modules/ordersTable/pure/OrdersTableContainer/OrderRow/index.tsx +++ b/apps/cowswap-frontend/src/modules/ordersTable/pure/OrdersTableContainer/OrderRow/index.tsx @@ -125,7 +125,8 @@ export function OrderRow({ const withAllowanceWarning = hasEnoughAllowance === false const withWarning = (hasEnoughBalance === false || withAllowanceWarning) && - // show the warning only for pending and scheduled orders + // show the warning only for pending and scheduled orders, but not for presignature pending + status !== OrderStatus.PRESIGNATURE_PENDING && (status === OrderStatus.PENDING || status === OrderStatus.SCHEDULED) const isOrderScheduled = order.status === OrderStatus.SCHEDULED @@ -536,6 +537,9 @@ export function OrderRow({ {/* Add empty cell for child TWAP orders */} {isTwapTable && isChild && } + {/* Add empty cell for signing orders - only for TWAP */} + {isTwapTable && order.status === OrderStatus.PRESIGNATURE_PENDING && } + {/* Action content menu */}