fix(app): preserve context overflow percentage

This commit is contained in:
Michael Wu
2026-10-03 05:07:05 +09:00
parent fc4dceee60
commit 62df878b42
2 changed files with 16 additions and 7 deletions
@@ -0,0 +1,9 @@
import { describe, expect, it } from "vitest";
import { formatContextPercentage } from "./context-window-meter.utils";
describe("context window meter formatting", () => {
it("localizes percentages without hiding context overflow", () => {
expect(formatContextPercentage(125, "en")).toBe("125%");
expect(formatContextPercentage(42, "fr")).toBe("42\u00a0%");
});
});
@@ -1,3 +1,10 @@
export function formatContextPercentage(value: number, locale?: string): string {
return new Intl.NumberFormat(locale, {
style: "percent",
maximumFractionDigits: 0,
}).format(value / 100);
}
export function formatTokenCount(value: number): string {
if (value >= 1_000_000) {
return `${Math.round(value / 1_000_000)}m`;
@@ -7,10 +14,3 @@ export function formatTokenCount(value: number): string {
}
return Math.round(value).toString();
}
export function formatContextPercentage(value: number, locale?: string): string {
return new Intl.NumberFormat(locale, {
style: "percent",
maximumFractionDigits: 0,
}).format(Math.max(0, Math.min(100, value)) / 100);
}