fix(costs): harden company auth check, fix frozen date memo, hide empty quota rows
- add company existence check on quota-windows route to guard against sentinel and forged company IDs (was a no-op assertCompanyAccess) - fix useDateRange minuteTick memo frozen at mount; realign interval to next calendar minute boundary via setTimeout + intervalRef pattern - fix midnight timer in Costs.tsx to use stable [] dep and self-scheduling todayTimerRef to avoid StrictMode double-invoke - return null for rolling window rows with no DB data instead of rendering $0.00 / 0 tok false zeros - fix secondsToWindowLabel to handle windows >168h with actual day count instead of silently falling back to 7d - fix byProvider.get(p) non-null assertion to use ?? [] fallback
This commit is contained in:
@@ -137,8 +137,10 @@ export function ProviderQuotaCard({
|
||||
<div className="space-y-2.5">
|
||||
{ROLLING_WINDOWS.map((w) => {
|
||||
const row = windowMap.get(w);
|
||||
const cents = row?.costCents ?? 0;
|
||||
const tokens = (row?.inputTokens ?? 0) + (row?.outputTokens ?? 0);
|
||||
// omit windows with no data rather than showing false $0.00 zeros
|
||||
if (!row) return null;
|
||||
const cents = row.costCents;
|
||||
const tokens = row.inputTokens + row.outputTokens;
|
||||
const barPct = maxWindowCents > 0 ? (cents / maxWindowCents) * 100 : 0;
|
||||
return (
|
||||
<div key={w} className="space-y-1">
|
||||
|
||||
Reference in New Issue
Block a user