Move format_duration/1 inside the only component where it's used
This commit is contained in:
@@ -356,44 +356,6 @@ defmodule MusicLibraryWeb.RecordComponents do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def format_duration(milliseconds) do
|
|
||||||
milliseconds
|
|
||||||
|> System.convert_time_unit(:millisecond, :second)
|
|
||||||
|> format_seconds()
|
|
||||||
end
|
|
||||||
|
|
||||||
defp format_seconds(seconds) when seconds <= 59 do
|
|
||||||
"0:#{zero_pad(seconds)}"
|
|
||||||
end
|
|
||||||
|
|
||||||
defp format_seconds(seconds) do
|
|
||||||
minutes = div(seconds, 60)
|
|
||||||
remaining_seconds = rem(seconds, 60)
|
|
||||||
|
|
||||||
format_minutes(minutes, remaining_seconds)
|
|
||||||
end
|
|
||||||
|
|
||||||
defp format_minutes(minutes, seconds) when minutes <= 59 do
|
|
||||||
"#{minutes}:#{zero_pad(seconds)}"
|
|
||||||
end
|
|
||||||
|
|
||||||
defp format_minutes(minutes, seconds) do
|
|
||||||
hours = div(minutes, 60)
|
|
||||||
remaining_minutes = rem(minutes, 60)
|
|
||||||
|
|
||||||
format_hours(hours, remaining_minutes, seconds)
|
|
||||||
end
|
|
||||||
|
|
||||||
defp format_hours(hours, minutes, seconds) do
|
|
||||||
"#{hours}:#{zero_pad(minutes)}:#{zero_pad(seconds)}"
|
|
||||||
end
|
|
||||||
|
|
||||||
defp zero_pad(integer) do
|
|
||||||
integer
|
|
||||||
|> to_string()
|
|
||||||
|> String.pad_leading(2, "0")
|
|
||||||
end
|
|
||||||
|
|
||||||
def toggle_actions_menu(record_id) do
|
def toggle_actions_menu(record_id) do
|
||||||
JS.toggle(to: "#actions-#{record_id}")
|
JS.toggle(to: "#actions-#{record_id}")
|
||||||
|> JS.toggle_class("pointer-events-none", to: "#records > li")
|
|> JS.toggle_class("pointer-events-none", to: "#records > li")
|
||||||
|
|||||||
@@ -2,11 +2,6 @@ defmodule MusicLibraryWeb.ReleaseComponent do
|
|||||||
use MusicLibraryWeb, :live_component
|
use MusicLibraryWeb, :live_component
|
||||||
use Gettext, backend: MusicLibraryWeb.Gettext
|
use Gettext, backend: MusicLibraryWeb.Gettext
|
||||||
|
|
||||||
import MusicLibraryWeb.RecordComponents,
|
|
||||||
only: [
|
|
||||||
format_duration: 1
|
|
||||||
]
|
|
||||||
|
|
||||||
alias MusicLibrary.ScrobbleActivity
|
alias MusicLibrary.ScrobbleActivity
|
||||||
|
|
||||||
def open(id), do: Fluxon.open_dialog(id)
|
def open(id), do: Fluxon.open_dialog(id)
|
||||||
@@ -195,4 +190,42 @@ defmodule MusicLibraryWeb.ReleaseComponent do
|
|||||||
gettext("Disc %{no}", %{no: medium.number})
|
gettext("Disc %{no}", %{no: medium.number})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp format_duration(milliseconds) do
|
||||||
|
milliseconds
|
||||||
|
|> System.convert_time_unit(:millisecond, :second)
|
||||||
|
|> format_seconds()
|
||||||
|
end
|
||||||
|
|
||||||
|
defp format_seconds(seconds) when seconds <= 59 do
|
||||||
|
"0:#{zero_pad(seconds)}"
|
||||||
|
end
|
||||||
|
|
||||||
|
defp format_seconds(seconds) do
|
||||||
|
minutes = div(seconds, 60)
|
||||||
|
remaining_seconds = rem(seconds, 60)
|
||||||
|
|
||||||
|
format_minutes(minutes, remaining_seconds)
|
||||||
|
end
|
||||||
|
|
||||||
|
defp format_minutes(minutes, seconds) when minutes <= 59 do
|
||||||
|
"#{minutes}:#{zero_pad(seconds)}"
|
||||||
|
end
|
||||||
|
|
||||||
|
defp format_minutes(minutes, seconds) do
|
||||||
|
hours = div(minutes, 60)
|
||||||
|
remaining_minutes = rem(minutes, 60)
|
||||||
|
|
||||||
|
format_hours(hours, remaining_minutes, seconds)
|
||||||
|
end
|
||||||
|
|
||||||
|
defp format_hours(hours, minutes, seconds) do
|
||||||
|
"#{hours}:#{zero_pad(minutes)}:#{zero_pad(seconds)}"
|
||||||
|
end
|
||||||
|
|
||||||
|
defp zero_pad(integer) do
|
||||||
|
integer
|
||||||
|
|> to_string()
|
||||||
|
|> String.pad_leading(2, "0")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user