diff --git a/frontend/src/components/dashboard/ActionQueueCard.tsx b/frontend/src/components/dashboard/ActionQueueCard.tsx
index f802a61a..7e9ddf24 100644
--- a/frontend/src/components/dashboard/ActionQueueCard.tsx
+++ b/frontend/src/components/dashboard/ActionQueueCard.tsx
@@ -34,22 +34,28 @@ interface ActionQueueCardProps {
const urgencyConfig = {
critical: {
- bg: 'bg-red-50',
- border: 'border-red-300',
- badge: 'bg-red-100 text-red-800',
+ bgColor: 'var(--color-error-50)',
+ borderColor: 'var(--color-error-300)',
+ badgeBgColor: 'var(--color-error-100)',
+ badgeTextColor: 'var(--color-error-800)',
icon: AlertCircle,
+ iconColor: 'var(--color-error-700)',
},
important: {
- bg: 'bg-amber-50',
- border: 'border-amber-300',
- badge: 'bg-amber-100 text-amber-800',
+ bgColor: 'var(--color-warning-50)',
+ borderColor: 'var(--color-warning-300)',
+ badgeBgColor: 'var(--color-warning-100)',
+ badgeTextColor: 'var(--color-warning-900)',
icon: AlertCircle,
+ iconColor: 'var(--color-warning-700)',
},
normal: {
- bg: 'bg-blue-50',
- border: 'border-blue-300',
- badge: 'bg-blue-100 text-blue-800',
+ bgColor: 'var(--color-info-50)',
+ borderColor: 'var(--color-info-300)',
+ badgeBgColor: 'var(--color-info-100)',
+ badgeTextColor: 'var(--color-info-800)',
icon: FileText,
+ iconColor: 'var(--color-info-700)',
},
};
@@ -85,25 +91,35 @@ function ActionItemCard({
return (
{/* Header */}
-
+
-
{action.title || 'Action Required'}
-
+ {action.title || 'Action Required'}
+
{action.urgency || 'normal'}
-
{action.subtitle || ''}
+
{action.subtitle || ''}
{/* Amount (for POs) */}
{action.amount && (
-
+
{action.amount.toFixed(2)} {action.currency}
@@ -112,11 +128,11 @@ function ActionItemCard({
)}
{/* Reasoning (always visible) */}
-
-
+
+
{t('jtbd.action_queue.why_needed')}
-
{reasoning}
+
{reasoning}
{/* Consequence (expandable) */}
@@ -124,17 +140,24 @@ function ActionItemCard({
<>
{expanded && (
-
-
{consequence}
+
+
{consequence}
{severity && (
-
+
{severity}
)}
@@ -144,7 +167,7 @@ function ActionItemCard({
)}
{/* Time Estimate */}
-
+
{t('jtbd.action_queue.estimated_time')}: {action.estimatedTimeMinutes || 5} min
@@ -200,11 +223,11 @@ export function ActionQueueCard({
if (loading || !actionQueue) {
return (
-
+
);
@@ -212,12 +235,18 @@ export function ActionQueueCard({
if (!actionQueue.actions || actionQueue.actions.length === 0) {
return (
-
-
-
+
+
+
{t('jtbd.action_queue.all_caught_up')}
-
{t('jtbd.action_queue.no_actions')}
+
{t('jtbd.action_queue.no_actions')}
);
}
@@ -225,12 +254,18 @@ export function ActionQueueCard({
const displayedActions = showAll ? actionQueue.actions : actionQueue.actions.slice(0, 3);
return (
-
+
{/* Header */}
-
{t('jtbd.action_queue.title')}
+
{t('jtbd.action_queue.title')}
{(actionQueue.totalActions || 0) > 3 && (
-
+
{actionQueue.totalActions || 0} {t('jtbd.action_queue.total')}
)}
@@ -240,12 +275,24 @@ export function ActionQueueCard({
{((actionQueue.criticalCount || 0) > 0 || (actionQueue.importantCount || 0) > 0) && (
{(actionQueue.criticalCount || 0) > 0 && (
-
+
{actionQueue.criticalCount || 0} {t('jtbd.action_queue.critical')}
)}
{(actionQueue.importantCount || 0) > 0 && (
-
+
{actionQueue.importantCount || 0} {t('jtbd.action_queue.important')}
)}
@@ -269,7 +316,11 @@ export function ActionQueueCard({
{(actionQueue.totalActions || 0) > 3 && (