Skip to content

Commit de841b7

Browse files
committed
removed parsing logic for seconds to minutes
1 parent f4b3543 commit de841b7

File tree

1 file changed

+5
-29
lines changed

1 file changed

+5
-29
lines changed

src/lib/components/VideoCard.svelte

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,35 +5,11 @@
55
interface Props {
66
href: string;
77
title: string;
8-
duration?: number | string; // Duration in seconds (number) or time format like "1:20" or "1:05:30" (string)
8+
duration?: string; // Duration in time format like "1:20" or "1:05:30"
99
class?: string;
1010
}
1111
1212
const { href, title, duration, class: className = '' }: Props = $props();
13-
14-
function parseDuration(duration: number | string | undefined): string {
15-
if (!duration) return '';
16-
17-
if (typeof duration === 'string' && duration.includes(':')) {
18-
return duration;
19-
}
20-
21-
// If it's a number (seconds), format it
22-
if (typeof duration === 'number') {
23-
const mins = Math.floor(duration / 60);
24-
const secs = Math.floor(duration % 60);
25-
return `${mins}:${secs.toString().padStart(2, '0')}`;
26-
}
27-
28-
// If it's a string number, parse and format it
29-
const seconds = parseInt(duration, 10);
30-
if (isNaN(seconds)) return '';
31-
const mins = Math.floor(seconds / 60);
32-
const secs = Math.floor(seconds % 60);
33-
return `${mins}:${secs.toString().padStart(2, '0')}`;
34-
}
35-
36-
const durationFormatted = parseDuration(duration);
3713
</script>
3814

3915
<a
@@ -64,9 +40,9 @@
6440
<!-- Main title -->
6541
<span class="video-card-title text-greyscale-900 dark:text-greyscale-100 flex-1">
6642
{title}
67-
{#if durationFormatted}
43+
{#if duration}
6844
<span class="video-card-duration-separator"> · </span>
69-
<span class="video-card-duration">{durationFormatted}</span>
45+
<span class="video-card-duration">{duration}</span>
7046
{/if}
7147
</span>
7248

@@ -105,9 +81,9 @@
10581

10682
<span class="video-card-title text-greyscale-900 dark:text-greyscale-100 flex-1">
10783
{title}
108-
{#if durationFormatted}
84+
{#if duration}
10985
<span class="video-card-duration-separator"> · </span>
110-
<span class="video-card-duration">{durationFormatted}</span>
86+
<span class="video-card-duration">{duration}</span>
11187
{/if}
11288
</span>
11389
</div>

0 commit comments

Comments
 (0)