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 */}