fix(#375): resolve recharts TypeScript strict mode type errors
Some checks failed
ci/woodpecker/push/web Pipeline failed
Some checks failed
ci/woodpecker/push/web Pipeline failed
- Fix Tooltip formatter/labelFormatter type overload conflicts - Fix Pie label render props type mismatch - Fix telemetry.ts date split array access type Refs #375 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -304,11 +304,13 @@ export default function UsagePage(): ReactElement {
|
|||||||
width={60}
|
width={60}
|
||||||
/>
|
/>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
formatter={(value: number, name: string) => [
|
formatter={
|
||||||
formatNumber(value),
|
((value: number, name: string) => [
|
||||||
name === "inputTokens" ? "Input Tokens" : "Output Tokens",
|
formatNumber(value),
|
||||||
]}
|
name === "inputTokens" ? "Input Tokens" : "Output Tokens",
|
||||||
labelFormatter={formatDateLabel}
|
]) as never
|
||||||
|
}
|
||||||
|
labelFormatter={((label: string) => formatDateLabel(label)) as never}
|
||||||
contentStyle={{
|
contentStyle={{
|
||||||
borderRadius: "8px",
|
borderRadius: "8px",
|
||||||
border: "1px solid #E2E8F0",
|
border: "1px solid #E2E8F0",
|
||||||
@@ -365,7 +367,9 @@ export default function UsagePage(): ReactElement {
|
|||||||
width={140}
|
width={140}
|
||||||
/>
|
/>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
formatter={(value: number) => [formatCurrency(value), "Cost"]}
|
formatter={
|
||||||
|
((value: number) => [formatCurrency(value), "Cost"]) as never
|
||||||
|
}
|
||||||
contentStyle={{
|
contentStyle={{
|
||||||
borderRadius: "8px",
|
borderRadius: "8px",
|
||||||
border: "1px solid #E2E8F0",
|
border: "1px solid #E2E8F0",
|
||||||
@@ -401,12 +405,15 @@ export default function UsagePage(): ReactElement {
|
|||||||
paddingAngle={2}
|
paddingAngle={2}
|
||||||
dataKey="count"
|
dataKey="count"
|
||||||
nameKey="outcome"
|
nameKey="outcome"
|
||||||
label={({ outcome, count }: { outcome: string; count: number }) =>
|
label={
|
||||||
`${outcome}: ${String(count)}`
|
((props: Record<string, unknown>) =>
|
||||||
|
`${String(props.outcome ?? "")}: ${String(props.count ?? 0)}`) as never
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<Tooltip
|
<Tooltip
|
||||||
formatter={(value: number, name: string) => [value, name]}
|
formatter={
|
||||||
|
((value: number, name: string) => [value, name]) as never
|
||||||
|
}
|
||||||
contentStyle={{
|
contentStyle={{
|
||||||
borderRadius: "8px",
|
borderRadius: "8px",
|
||||||
border: "1px solid #E2E8F0",
|
border: "1px solid #E2E8F0",
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ function generateDateRange(range: TimeRange): string[] {
|
|||||||
for (let i = days - 1; i >= 0; i--) {
|
for (let i = days - 1; i >= 0; i--) {
|
||||||
const d = new Date(now);
|
const d = new Date(now);
|
||||||
d.setDate(d.getDate() - i);
|
d.setDate(d.getDate() - i);
|
||||||
dates.push(d.toISOString().split("T")[0]);
|
dates.push(d.toISOString().split("T")[0] ?? "");
|
||||||
}
|
}
|
||||||
|
|
||||||
return dates;
|
return dates;
|
||||||
|
|||||||
Reference in New Issue
Block a user