Quellcode durchsuchen

fix(stats): format market share tokens

Adam vor 2 Monaten
Ursprung
Commit
36264ccf90

+ 4 - 3
packages/stats/app/src/routes/index.tsx

@@ -1450,9 +1450,7 @@ function formatCountryName(country: string) {
 }
 
 function formatGeoTokens(value: number) {
-  if (value >= 1) return formatTrillions(value)
-  if (value >= 0.001) return `${Number((value * 1000).toFixed(value >= 0.01 ? 0 : 1))}B`
-  return `${Math.round(value * 1_000_000)}M`
+  return formatTrillions(value)
 }
 
 function formatGeoShare(value: number) {
@@ -1508,6 +1506,9 @@ function formatMarketMobileDate(label: string) {
 }
 
 function formatTrillions(value: number) {
+  if (value === 0) return "0"
+  if (value < 0.001) return `${Number((value * 1_000_000).toFixed(value >= 0.00001 ? 0 : 1))}M`
+  if (value < 1) return `${Number((value * 1_000).toFixed(value >= 0.01 ? 0 : 1))}B`
   return `${value.toFixed(value >= 10 ? 0 : 1)}T`
 }
 

+ 2 - 2
packages/stats/core/src/domain/home.ts

@@ -538,11 +538,11 @@ function buildMarketShare(rows: ProviderMetricRow[], product: UsageProduct, rang
     return [
       {
         date: bucket.label,
-        total: round(totalTokens / 1_000_000_000_000, 2),
+        total: round(totalTokens / 1_000_000_000_000, 6),
         authors: withOther.map((item) => ({
           author: item.provider === "Other" ? "Other" : formatProvider(item.provider),
           share: round((item.tokens / totalTokens) * 100, 1),
-          tokens: round(item.tokens / 1_000_000_000_000, 2),
+          tokens: round(item.tokens / 1_000_000_000_000, 6),
         })),
       },
     ]