From 17c1fbe0f8565f191a191138bebac7409512962e Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 15 Mar 2025 23:23:16 +0900 Subject: feat(frontend): improve left time display --- frontend/app/components/Gaming/LeftTime.tsx | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 frontend/app/components/Gaming/LeftTime.tsx (limited to 'frontend/app/components/Gaming/LeftTime.tsx') diff --git a/frontend/app/components/Gaming/LeftTime.tsx b/frontend/app/components/Gaming/LeftTime.tsx new file mode 100644 index 0000000..a31c6b2 --- /dev/null +++ b/frontend/app/components/Gaming/LeftTime.tsx @@ -0,0 +1,26 @@ +type Props = { + sec: number; +}; + +export default function LeftTime({ sec }: Props) { + const s = sec % 60; + const m = Math.floor(sec / 60) % 60; + const h = Math.floor(sec / 3600) % 24; + const d = Math.floor(sec / 86400); + + let leftTime = ""; + if (d > 0 || h > 0) { + // 1d 2h 3m 4s + leftTime = [ + d > 0 ? `${d}d` : "", + h > 0 ? `${h}h` : "", + m > 0 ? `${m}m` : "", + `${s}s`, + ].join(" "); + } else { + // 03:04 + leftTime = `${m.toString().padStart(2, "0")}:${s.toString().padStart(2, "0")}`; + } + + return
{leftTime}
; +} -- cgit v1.2.3-70-g09d2