Fixed display

This commit is contained in:
Nik Afiq 2025-11-05 16:03:19 +09:00
parent 21e5b31471
commit e828fa31a5

View File

@ -41,6 +41,25 @@ export default function ShowsPage() {
const [selectedId, setSelectedId] = useState<number | null>(null);
const [startTime, setStartTime] = useState("");
function formatPlaybackLen(v: string): string {
const parts = v.split(":").map(Number);
if (parts.length === 2) {
// already MM:SS
const [mm, ss] = parts;
return `${String(mm).padStart(2, "0")}:${String(ss).padStart(2, "0")}`;
}
if (parts.length === 3) {
const [hh, mm, ss] = parts;
if (hh <= 0) {
// show MM:SS when hours are zero
return `${String(mm).padStart(2, "0")}:${String(ss).padStart(2, "0")}`;
}
// show HH:MM:SS when hours exist
return `${String(hh).padStart(2, "0")}:${String(mm).padStart(2, "0")}:${String(ss).padStart(2, "0")}`;
}
return v; // fallback (unexpected format)
}
// 一覧取得
useEffect(() => {
let cancelled = false;
@ -113,7 +132,7 @@ export default function ShowsPage() {
<div className="title">{s.ep_num}{s.ep_title}</div>
<div className="season subtle">{s.season_name}</div>
<div className="meta subtle">
{s.start_time.slice(0,5)} {s.playback_length.slice(0,5)}
{s.start_time.slice(0, 5)} {formatPlaybackLen(s.playback_length)}
</div>
</button>
))}