mirror of
https://github.com/prdlk/leetcode.git
synced 2026-09-16 23:16:26 +00:00
refactor(docs): rename recent stats to heat and update dashboard rendering
This commit is contained in:
@@ -46,7 +46,8 @@ interface Stats {
|
|||||||
}[];
|
}[];
|
||||||
streak: number;
|
streak: number;
|
||||||
queue: { date: string; due: number }[];
|
queue: { date: string; due: number }[];
|
||||||
recent: { date: string; attempts: number; passes: number }[];
|
/** Every campaign day, zeros included; this page reads only the tail. */
|
||||||
|
heat: { date: string; attempts: number; passes: number }[];
|
||||||
}
|
}
|
||||||
|
|
||||||
function isStats(value: unknown): value is Stats {
|
function isStats(value: unknown): value is Stats {
|
||||||
@@ -60,7 +61,7 @@ function isStats(value: unknown): value is Stats {
|
|||||||
Array.isArray(v.phases) &&
|
Array.isArray(v.phases) &&
|
||||||
Array.isArray(v.gates) &&
|
Array.isArray(v.gates) &&
|
||||||
Array.isArray(v.queue) &&
|
Array.isArray(v.queue) &&
|
||||||
Array.isArray(v.recent) &&
|
Array.isArray(v.heat) &&
|
||||||
typeof v.streak === "number"
|
typeof v.streak === "number"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -332,11 +333,14 @@ const GREENS = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
function Recent({ stats }: { stats: Stats }) {
|
function Recent({ stats }: { stats: Stats }) {
|
||||||
|
// heat spans the whole campaign, future days and all. The window wanted here
|
||||||
|
// is the seven days ending today, and campaign.day is that day, 1-based.
|
||||||
|
const week = stats.heat.slice(Math.max(0, stats.campaign.day - 7), stats.campaign.day);
|
||||||
return (
|
return (
|
||||||
<div style={card}>
|
<div style={card}>
|
||||||
<div style={heading}>Last 7 days</div>
|
<div style={heading}>Last 7 days</div>
|
||||||
<div style={{ display: "flex", gap: "0.4rem", flexWrap: "wrap" }}>
|
<div style={{ display: "flex", gap: "0.4rem", flexWrap: "wrap" }}>
|
||||||
{stats.recent.map((r) => (
|
{week.map((r) => (
|
||||||
<span
|
<span
|
||||||
key={r.date}
|
key={r.date}
|
||||||
title={`${r.date}: ${r.passes}/${r.attempts} passed`}
|
title={`${r.date}: ${r.passes}/${r.attempts} passed`}
|
||||||
|
|||||||
Reference in New Issue
Block a user