Fix range date display for year graph

This commit is contained in:
Selina 2025-11-26 19:19:46 +08:00
parent 8756c70d2d
commit 4134c3708b

View file

@ -218,15 +218,38 @@ export function renderReviews(
} }
function tooltipText(d: BinType, cumulative: number): string { function tooltipText(d: BinType, cumulative: number): string {
let dateStr: string;
const now = new Date(); const now = new Date();
let date = timeDay.offset(now, Math.floor(d.x0!)); const larger = Math.max(Math.abs(d.x0!), Math.abs(d.x1!));
date = timeHour.offset(date, -sourceData.rolloverHour); const smaller = Math.min(Math.abs(d.x0!), Math.abs(d.x1!));
const dateStr = localizedDate(date, { if (larger - smaller > 1) {
weekday: "long", // range (year)
year: "numeric", let startDate = timeDay.offset(now, Math.floor(d.x0!));
month: "long", startDate = timeHour.offset(startDate, -sourceData.rolloverHour);
day: "numeric", let endDate = timeDay.offset(now, Math.floor(d.x1!) - 1);
}); endDate = timeHour.offset(endDate, -sourceData.rolloverHour);
const startDateStr = localizedDate(startDate, {
year: "numeric",
month: "short",
day: "numeric",
});
const endDateStr = localizedDate(endDate, {
year: "numeric",
month: "short",
day: "numeric",
});
dateStr = startDateStr + " - " + endDateStr;
} else {
// 1 month, 3 months
let date = timeDay.offset(now, Math.floor(d.x0!));
date = timeHour.offset(date, -sourceData.rolloverHour);
dateStr = localizedDate(date, {
weekday: "long",
year: "numeric",
month: "long",
day: "numeric",
});
}
const day = dayLabel(d.x0!, d.x1!); const day = dayLabel(d.x0!, d.x1!);
const totals = totalsForBin(d); const totals = totalsForBin(d);
const dayTotal = valueLabel(sum(totals)); const dayTotal = valueLabel(sum(totals));