Wishlist show page listens to record updates
This commit is contained in:
@@ -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(
|
||||
[
|
||||
|
||||
Reference in New Issue
Block a user