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 && ( )}