Show if a wishlisted album is unreleased

This commit is contained in:
Claudio Ortolina
2025-01-29 10:08:28 +00:00
parent 32bc4067ff
commit 06f1997d59
8 changed files with 122 additions and 50 deletions
@@ -7,6 +7,7 @@ defmodule MusicLibraryWeb.RecordComponents do
attr :record_show_path, :any, required: true
attr :record_edit_path, :any, required: true
attr :records, :list, required: true
attr :current_date, Date, required: false, default: nil
def record_list(assigns) do
~H"""
@@ -43,6 +44,9 @@ defmodule MusicLibraryWeb.RecordComponents do
</h2>
<p class="mt-1 text-xs leading-5 text-zinc-500 dark:text-zinc-400">
{Records.Record.format_release(record.release)}
<span :if={@current_date && !Records.Record.released?(record, @current_date)}>
({gettext("Unreleased")})
</span>
</p>
<p class="sm:hidden mt-1 text-xs leading-5 text-zinc-500 dark:text-zinc-400">
{Records.Record.format_long_label(record.format)} · {Records.Record.type_long_label(
@@ -23,7 +23,12 @@ defmodule MusicLibraryWeb.WishlistLive.Index do
socket
end
{:ok, assign(socket, :nav_section, :wishlist)}
current_date = DateTime.utc_now() |> DateTime.to_date()
{:ok,
socket
|> assign(nav_section: :wishlist)
|> assign(:current_date, current_date)}
end
@impl true
@@ -18,6 +18,7 @@
</div>
<.record_list
current_date={@current_date}
records={@streams.records}
record_show_path={fn record -> ~p"/wishlist/#{record}" end}
record_edit_path={fn record -> ~p"/wishlist/#{record}/edit" end}
@@ -13,7 +13,12 @@ defmodule MusicLibraryWeb.WishlistLive.Show do
socket
end
{:ok, socket}
current_date = DateTime.utc_now() |> DateTime.to_date()
{:ok,
socket
|> assign(nav_section: :wishlist)
|> assign(:current_date, current_date)}
end
@impl true
@@ -22,9 +22,13 @@
{@record.title}
</h2>
<p class="mt-2 text-sm leading-5 text-zinc-500 dark:text-zinc-400">
{Records.Record.format_release(@record.release)} · {Records.Record.format_long_label(
@record.format
)} · {Records.Record.type_long_label(@record.type)}
{Records.Record.format_release(@record.release)}
<span :if={@current_date && !Records.Record.released?(@record, @current_date)}>
({gettext("Unreleased")})
</span>
· {Records.Record.format_long_label(@record.format)} · {Records.Record.type_long_label(
@record.type
)}
</p>
</div>
<div class="relative flex-none">