authorgravatar for admin@snappeh.comTristan Knight <admin@snappeh.com> 2026-08-17 19:45:13+01:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-08-17 14:45:13-04:00
loga4cc1367b03ee0c1dc2b50fceac81ef5e63212e2
tree05b84b9b1d182964926391251abea944899fccb8
parent33a8b07dd3b46e5cab8661a323faec20823ed9cb
signature Signed by PGP key B5690EEEBB952194

fix(web): show all usage breakdown periods (#7219)


1 files changed, 6 insertions(+), 4 deletions(-)

apps/web/src/components/usage/UsagePage.tsx+6-4
......@@ -61,8 +61,10 @@ export function UsagePage() {
6161 : enumerateHourStarts(window.sinceTime, window.untilTime),
6262 [window.sinceTime, window.untilTime],
6363 );
64 const recentPeriods = useMemo<readonly (DailyTotals | HourlyTotals)[]>(
65 () => (isPast24Hours ? merged.hourly : merged.daily).toReversed().slice(0, 8),
64 // Newest first: the window can run 90 periods, so the interesting end
65 // belongs at the top of the table.
66 const breakdownPeriods = useMemo<readonly (DailyTotals | HourlyTotals)[]>(
67 () => (isPast24Hours ? merged.hourly : merged.daily).toReversed(),
6668 [isPast24Hours, merged.daily, merged.hourly],
6769 );
6870
......@@ -393,14 +395,14 @@ export function UsagePage() {
393395 </tr>
394396 </thead>
395397 <tbody>
396 {recentPeriods.length === 0 ? (
398 {breakdownPeriods.length === 0 ? (
397399 <tr>
398400 <td colSpan={5} className="py-6 text-center text-muted-foreground">
399401 No activity in this window.
400402 </td>
401403 </tr>
402404 ) : (
403 recentPeriods.map((period) => (
405 breakdownPeriods.map((period) => (
404406 <tr
405407 key={"hourStart" in period ? period.hourStart : period.day}
406408 className="border-b border-border/50"