fix formatting in playlist duration (#1382)

This commit is contained in:
jeffvli
2025-12-14 01:31:40 -08:00
parent 8b0632495b
commit 4cc51c3700
3 changed files with 18 additions and 5 deletions
@@ -58,12 +58,16 @@
flex-wrap: nowrap;
gap: var(--theme-spacing-md);
align-items: center;
min-width: 0;
}
.metadata-group-item {
display: flex;
flex-shrink: 0;
flex-wrap: nowrap;
gap: var(--theme-spacing-xs);
align-items: center;
white-space: nowrap;
}
.name {
@@ -184,14 +184,14 @@ const PlaylistRowButton = memo(({ item, name, onContextMenu, to }: PlaylistRowBu
</Text>
<div className={styles.metadataGroup}>
<div className={styles.metadataGroupItem}>
<Icon color="muted" icon="track" size="sm" />
<Text isMuted size="sm">
<Icon color="muted" icon="track" size="xs" />
<Text isMuted size="xs">
{item.songCount || 0}
</Text>
</div>
<div className={styles.metadataGroupItem}>
<Icon color="muted" icon="duration" size="sm" />
<Text isMuted size="sm">
<Icon color="muted" icon="duration" size="xs" />
<Text isMuted size="xs">
{formatDurationStringShort(item.duration ?? 0)}
</Text>
</div>
+10 -1
View File
@@ -57,7 +57,16 @@ export const formatDurationString = (duration: number) => {
export const formatDurationStringShort = (duration: number) => {
const rawDuration = formatDuration(duration).split(':');
return `${rawDuration[0]}h ${rawDuration[1]}m`;
if (rawDuration.length === 2) {
// Less than 1 hour: show "0h" and minutes
return `0h ${rawDuration[0]}m`;
} else if (rawDuration.length >= 3) {
// 1 hour or more: show hours and minutes
return `${rawDuration[0]}h ${rawDuration[1]}m`;
}
return '0h 0m';
};
export const formatRating = (item: Album | AlbumArtist | Song) =>