diff --git a/lib/who_need_help_web/live/request_live/show.ex b/lib/who_need_help_web/live/request_live/show.ex index ef5667e..fbf5aae 100644 --- a/lib/who_need_help_web/live/request_live/show.ex +++ b/lib/who_need_help_web/live/request_live/show.ex @@ -294,6 +294,7 @@ defmodule WhoNeedHelpWeb.RequestLive.Show do socket |> maybe_untrack_browser_presence() |> assign(:blocked_by_current, true) + |> assign(:interaction_blocked, true) |> assign(:messages, []) |> assign(:messages_cursor, nil) |> assign(:positions, %{}) @@ -316,9 +317,17 @@ defmodule WhoNeedHelpWeb.RequestLive.Show do def handle_event("unblock-user", _, socket) do case Trust.unblock(socket.assigns.current_scope, socket.assigns.other_user_id) do {:ok, _result} -> + interaction_blocked = + socket.assigns.other_user_id && + Trust.blocked_between?( + socket.assigns.current_scope.user.id, + socket.assigns.other_user_id + ) + {:noreply, socket |> assign(:blocked_by_current, false) + |> assign(:interaction_blocked, interaction_blocked) |> put_flash(:info, gettext("User unblocked."))} {:error, reason} -> @@ -432,6 +441,10 @@ defmodule WhoNeedHelpWeb.RequestLive.Show do :blocked_by_current, other_user_id && Trust.blocked_by?(current_user_id, other_user_id) ) + |> assign( + :interaction_blocked, + other_user_id && Trust.blocked_between?(current_user_id, other_user_id) + ) |> assign(:messages, messages_page.entries) |> assign(:messages_cursor, messages_page.next_cursor) |> assign(:message_window_limit, max(length(messages_page.entries), @initial_message_window)) @@ -772,7 +785,16 @@ defmodule WhoNeedHelpWeb.RequestLive.Show do > {gettext("Load earlier messages")} -
+
+ {gettext("This interaction is blocked.")} +
+{gettext("No messages yet.")}