raylu 2 өдөр өмнө
parent
commit
e2900ec771
1 өөрчлөгдсөн 14 нэмэгдсэн , 5 устгасан
  1. 14 5
      ts/roi.ts

+ 14 - 5
ts/roi.ts

@@ -11,11 +11,14 @@
 		tr.innerHTML = `
 			<td>${p.output}</td>
 			<td>${p.expertise}</td>
-			<td>${formatDecimal(p.profit_per_area)}</td>
-			<td>${formatWhole(p.capex)}</td>
-			<td>${formatWhole(p.cost_per_day)}</td>
-			<td>${formatDecimal(p.logistics_per_area)}</td>
-			<td>${formatWhole(p.output_per_day)}<br>${formatWhole(p.average_traded_7d)}</td>
+			<td style="color: ${color(p.profit_per_area, 0, 500)}">${formatDecimal(p.profit_per_area)}</td>
+			<td style="color: ${color(p.capex, 300_000, 50_000)}">${formatWhole(p.capex)}</td>
+			<td style="color: ${color(p.cost_per_day, 100_000, 25_000)}">${formatWhole(p.cost_per_day)}</td>
+			<td style="color: ${color(p.logistics_per_area, 2, 0.2)}">${formatDecimal(p.logistics_per_area)}</td>
+			<td>
+				${formatWhole(p.output_per_day)}<br>
+				<span style="color: ${color(p.output_per_day/p.average_traded_7d, 0.05, 0.002)}">${formatWhole(p.average_traded_7d)}</span>
+			</td>
 		`;
 		const output = tr.querySelector('td')!;
 		output.title = p.recipe;
@@ -23,6 +26,12 @@
 	}
 })();
 
+function color(n: number, low: number, high: number): string {
+	// scale n from low..high to 0..1 clamped
+	const scale = Math.min(Math.max((n - low) / (high - low), 0), 1);
+	return `color-mix(in oklch, #0c8 ${scale * 100}%, #f70)`;
+}
+
 interface Profit {
 	output: string
 	recipe: string