Wishlist show page listens to record updates
This commit is contained in:
@@ -13,9 +13,13 @@ defmodule MusicLibraryWeb.WishlistLive.Show do
|
|||||||
alias MusicLibrary.Records
|
alias MusicLibrary.Records
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def mount(_params, _session, socket) do
|
def mount(%{"id" => record_id}, _session, socket) do
|
||||||
current_date = DateTime.utc_now() |> DateTime.to_date()
|
current_date = DateTime.utc_now() |> DateTime.to_date()
|
||||||
|
|
||||||
|
if connected?(socket) do
|
||||||
|
Records.subscribe(record_id)
|
||||||
|
end
|
||||||
|
|
||||||
{:ok,
|
{:ok,
|
||||||
socket
|
socket
|
||||||
|> assign(current_section: :wishlist)
|
|> assign(current_section: :wishlist)
|
||||||
@@ -28,7 +32,6 @@ defmodule MusicLibraryWeb.WishlistLive.Show do
|
|||||||
|
|
||||||
{:noreply,
|
{:noreply,
|
||||||
socket
|
socket
|
||||||
|> assign(:current_section, :wishlist)
|
|
||||||
|> assign(:page_title, page_title(socket.assigns.live_action, record))
|
|> assign(:page_title, page_title(socket.assigns.live_action, record))
|
||||||
|> assign(:record, record)}
|
|> assign(:record, record)}
|
||||||
end
|
end
|
||||||
@@ -142,6 +145,14 @@ defmodule MusicLibraryWeb.WishlistLive.Show do
|
|||||||
{:noreply, assign(socket, :record, record)}
|
{:noreply, assign(socket, :record, record)}
|
||||||
end
|
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
|
def page_title(action, record) do
|
||||||
Enum.join(
|
Enum.join(
|
||||||
[
|
[
|
||||||
|
|||||||
Reference in New Issue
Block a user