diff --git a/src/components/JobCardMetrics.tsx b/src/components/JobCardMetrics.tsx index 1c65141..92f1e6c 100644 --- a/src/components/JobCardMetrics.tsx +++ b/src/components/JobCardMetrics.tsx @@ -84,7 +84,7 @@ const JobCardMetrics: React.FC = ({ job }) => { {job.projectedCost > 0 && ( -
+
vs {editingField === 'projectedCost' ? ( = ({ job }) => { {formatISK(job.projectedCost)} )} -
- {((totalExpenditure / job.projectedCost) * 100).toFixed(0)}% +
+ {totalExpenditure <= job.projectedCost ? '✅' : '⚠️'} {((totalExpenditure / job.projectedCost) * 100).toFixed(0)}%
)} @@ -119,7 +126,7 @@ const JobCardMetrics: React.FC = ({ job }) => {
{job.projectedRevenue > 0 && ( -
+
vs {editingField === 'projectedRevenue' ? ( = ({ job }) => { {formatISK(job.projectedRevenue)} )} -
= job.projectedRevenue ? 'text-green-400' : 'text-red-400'}`}> - {((totalIncome / job.projectedRevenue) * 100).toFixed(0)}% +
+
= job.projectedRevenue + ? 'bg-green-900/50 text-green-400' + : 'bg-yellow-900/50 text-yellow-400' + }`} + title={`Revenue progress: ${((totalIncome / job.projectedRevenue) * 100).toFixed(1)}% of projected revenue`} + > + {totalIncome >= job.projectedRevenue ? '🎯' : '📊'} {((totalIncome / job.projectedRevenue) * 100).toFixed(0)}% +
+ {showPerformanceIndicator && ( +
= 100 + ? 'bg-green-900/50 text-green-400' + : performancePercentage >= 90 + ? 'bg-yellow-900/50 text-yellow-400' + : 'bg-red-900/50 text-red-400' + }`} + title={`Performance: ${formatISK(actualRevenuePerItem)}/item vs ${formatISK(expectedRevenuePerItem)}/item expected (${performancePercentage.toFixed(1)}%)`} + > + {performancePercentage >= 100 ? '📈' : performancePercentage >= 90 ? '⚠️' : '📉'} {performancePercentage.toFixed(0)}% +
+ )}
)} - {showPerformanceIndicator && ( -
= 100 - ? 'bg-green-900/50 text-green-400' - : performancePercentage >= 90 - ? 'bg-yellow-900/50 text-yellow-400' - : 'bg-red-900/50 text-red-400' - }`} - title={`Performance: ${formatISK(actualRevenuePerItem)}/item vs ${formatISK(expectedRevenuePerItem)}/item expected (${performancePercentage.toFixed(1)}%)`} - > - {performancePercentage >= 100 ? '📈' : performancePercentage >= 90 ? '⚠️' : '📉'} {performancePercentage.toFixed(0)}% -
- )}
Profit