Removed chartjs date adapter and added xAbilityLimit for the build analyzer chart

The date adapter is removed since we handle date formatting ourselves
The build analyzer chart stops at 57 instead of 60 (in game limit)
This commit is contained in:
lderuijter
2026-06-19 15:42:05 +02:00
parent 0a45ea3d48
commit 9d67b2393a
4 changed files with 10 additions and 22 deletions

View File

@@ -5,10 +5,8 @@ import {
LinearScale,
LineElement,
PointElement,
TimeScale,
Tooltip,
} from "chart.js";
import "chartjs-adapter-date-fns";
import clsx from "clsx";
import * as React from "react";
import { useRef } from "react";
@@ -20,7 +18,6 @@ import styles from "./Chart.module.css";
ChartJS.register(
CategoryScale,
LinearScale,
TimeScale,
PointElement,
LineElement,
Tooltip,
@@ -34,6 +31,7 @@ export default function Chart({
xAxis,
xTicksLimit,
yTicksLimit,
xAbilityLimit,
}: {
options: [
{
@@ -47,6 +45,7 @@ export default function Chart({
xAxis: "linear" | "localTime";
xTicksLimit?: number;
yTicksLimit?: number;
xAbilityLimit?: number;
}) {
const isHydrated = useHydrated();
@@ -140,7 +139,7 @@ export default function Chart({
const chartData = React.useMemo(
() => ({
labels: options[0].data.map((d) => d.primary),
labels: options[0].data.map((_, i) => i),
datasets: options.map((series, i) => ({
label: String(i),
data: series.data.map((d) => d.secondary),
@@ -173,15 +172,18 @@ export default function Chart({
scales: {
x: {
...scaleDefaults,
type: xAxis === "localTime" ? "time" : "linear",
max: xAbilityLimit,
type: "linear",
ticks: {
...scaleDefaults.ticks,
maxRotation: 0,
maxTicksLimit: xTicksLimit,
callback: (value) => {
if (xAxis === "localTime") {
const date = new Date(value as number);
return scaleFormatter.format(date);
const date = options[0].data[value as number]?.primary;
if (date instanceof Date) {
return scaleFormatter.format(date);
}
}
return value;
},

View File

@@ -1061,6 +1061,7 @@ function StatChart({
headerSuffix={t("analyzer:abilityPoints.short")}
valueSuffix={valueSuffix}
xAxis="linear"
xAbilityLimit={57}
/>
);
}

View File

@@ -56,7 +56,6 @@
"@zumer/snapdom": "2.12.8",
"better-sqlite3": "12.10.0",
"chart.js": "4.5.1",
"chartjs-adapter-date-fns": "3.0.0",
"clsx": "2.1.1",
"compressorjs": "1.3.0",
"date-fns": "4.4.0",

14
pnpm-lock.yaml generated
View File

@@ -69,9 +69,6 @@ importers:
chart.js:
specifier: 4.5.1
version: 4.5.1
chartjs-adapter-date-fns:
specifier: 3.0.0
version: 3.0.0(chart.js@4.5.1)(date-fns@4.4.0)
clsx:
specifier: 2.1.1
version: 2.1.1
@@ -3232,12 +3229,6 @@ packages:
resolution: {integrity: sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==}
engines: {pnpm: '>=8'}
chartjs-adapter-date-fns@3.0.0:
resolution: {integrity: sha512-Rs3iEB3Q5pJ973J93OBTpnP7qoGwvq3nUnoMdtxO+9aoJof7UFcRbWcIDteXuYd1fgAvct/32T9qaLyLuZVwCg==}
peerDependencies:
chart.js: '>=2.8.0'
date-fns: '>=2.0.0'
chokidar@4.0.3:
resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
engines: {node: '>= 14.16.0'}
@@ -8187,11 +8178,6 @@ snapshots:
dependencies:
'@kurkle/color': 0.3.4
chartjs-adapter-date-fns@3.0.0(chart.js@4.5.1)(date-fns@4.4.0):
dependencies:
chart.js: 4.5.1
date-fns: 4.4.0
chokidar@4.0.3:
dependencies:
readdirp: 4.1.2