defmodule MusicLibraryWeb.StatsComponents do use MusicLibraryWeb, :live_component import MusicLibraryWeb.RecordComponents, only: [format_label: 1, type_label: 1, artist_links: 1] alias MusicLibrary.Records attr :record, Records.Record, required: true attr :title, :string, required: true attr :class, :string def album_preview(assigns) do ~H"""
{@record.title}

{@title}

{@record.title} <.link :for={artist <- @record.artists} class="text-sm md:text-base text-zinc-600 dark:text-zinc-200 hover:text-zinc-500 dark:text-zinc-300 dark:hover:text-zinc-200" navigate={~p"/artists/#{artist.musicbrainz_id}"} > {artist.name}

""" end attr :title, :string, required: true attr :count, :integer, required: true attr :path, :string, required: true def counter(assigns) do ~H"""

{@title}

<.link navigate={@path} class="block text-2xl sm:text-3xl font-semibold text-center text-zinc-900 hover:text-zinc-500 dark:text-zinc-300 dark:hover:text-zinc-200" > {@count}
""" end def refresh_lastfm_feed_button(assigns) do ~H""" """ end attr :record_show_path, :any, required: true attr :records, :list, required: true attr :current_date, Date, required: true def records_on_this_day(assigns) do ~H""" """ end attr :record, Records.Record, required: true attr :current_date, Date, required: true defp released_how_long_ago(assigns) do assigns = assign( assigns, :years, Records.Record.released_how_long_ago?(assigns.record, assigns.current_date) ) ~H"""

{ngettext( "1 year ago", "%{count} years ago", @years )}

""" end defp special_year?(year) when year in [5, 10, 25, 50, 75], do: true defp special_year?(_year), do: false def tracked_record?(tracked_releases, release_id) do Enum.find_value(tracked_releases, fn tracked_release -> if tracked_release.release_id == release_id, do: tracked_release.record_id end) end end