15 lines
775 B
TypeScript
15 lines
775 B
TypeScript
export function comparisonDelta(value: string | null): string | null {
|
|
if (value === null || !Number.isFinite(Number(value)) || Number(value) === 0) return null;
|
|
const difference = Number(value) - 100;
|
|
if (!difference) return "เท่าค่าฐาน";
|
|
return `${difference > 0 ? "+" : ""}${difference.toLocaleString("th-TH", { maximumFractionDigits: 2 })}% จากค่าฐาน`;
|
|
}
|
|
|
|
export function comparisonReferenceNames(rows: readonly {
|
|
weapon: { name: string }; refinement: string;
|
|
overallPercent: string | null; personalPercent: string | null;
|
|
}[], metric: "overallPercent" | "personalPercent") {
|
|
return rows.filter((row) => row[metric] !== null && Number(row[metric]) === 100)
|
|
.map((row) => `${row.weapon.name} R${row.refinement}`);
|
|
}
|