Show total and per disc duration

This commit is contained in:
Claudio Ortolina
2025-05-05 16:05:05 +01:00
parent bea2016bfd
commit 72843ed835
3 changed files with 15 additions and 0 deletions
+4
View File
@@ -21,6 +21,10 @@ defmodule MusicBrainz.Release do
Enum.count(release.media)
end
def medium_duration(medium) do
Enum.sum_by(medium.tracks, fn track -> track.length end)
end
def from_api_response(r) do
%__MODULE__{
id: r["id"],
@@ -173,4 +173,10 @@ defmodule MusicLibraryWeb.CollectionLive.Show do
defp title_segment(:show), do: gettext("Show")
defp title_segment(:edit), do: gettext("Edit")
defp medium_duration(medium) do
medium
|> MusicBrainz.Release.medium_duration()
|> format_duration()
end
end
@@ -279,6 +279,7 @@
id="tracks-sheet"
placement="right"
on_open={JS.push("load_release_with_tracks")}
open
>
<h3 class="text-lg font-semibold mb-4">{gettext("Tracks")}</h3>
@@ -326,6 +327,10 @@
</div>
</li>
</ul>
<Fluxon.Components.Separator.separator />
<p class="text-xs text-right text-zinc-700 dark:text-zinc-300">
{medium_duration(medium)}
</p>
</div>
</.async_result>
</div>