Wishlist show page listens to record updates

This commit is contained in:
Claudio Ortolina
2025-06-08 20:07:35 +01:00
parent 691bc84145
commit 968b533a1d
@@ -13,9 +13,13 @@ defmodule MusicLibraryWeb.WishlistLive.Show do
alias MusicLibrary.Records
@impl true
def mount(_params, _session, socket) do
def mount(%{"id" => record_id}, _session, socket) do
current_date = DateTime.utc_now() |> DateTime.to_date()
if connected?(socket) do
Records.subscribe(record_id)
end
{:ok,
socket
|> assign(current_section: :wishlist)
@@ -28,7 +32,6 @@ defmodule MusicLibraryWeb.WishlistLive.Show do
{:noreply,
socket
|> assign(:current_section, :wishlist)
|> assign(:page_title, page_title(socket.assigns.live_action, record))
|> assign(:record, record)}
end
@@ -142,6 +145,14 @@ defmodule MusicLibraryWeb.WishlistLive.Show do
{:noreply, assign(socket, :record, record)}
end
@impl true
def handle_info({:update, record}, socket) do
{:noreply,
socket
|> put_flash(:info, gettext("Record updated in the background"))
|> assign(:record, record)}
end
def page_title(action, record) do
Enum.join(
[