we don't need to pass self() on to client functions
This commit is contained in:
@ -9,13 +9,13 @@ defmodule SomethingErlangWeb.ThreadLive.Show do
|
||||
|
||||
@impl true
|
||||
def mount(%{"id" => id} = _params, _session, socket) do
|
||||
Grover.mount(self(), socket.assigns.current_user, id)
|
||||
Grover.mount(socket.assigns.current_user, id)
|
||||
{:ok, socket}
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_params(%{"id" => id, "page" => page}, _, socket) do
|
||||
thread = Grover.get_thread!(self(), id, page |> String.to_integer())
|
||||
thread = Grover.get_thread!(id, page |> String.to_integer())
|
||||
{:noreply,
|
||||
socket
|
||||
|> assign(:thread, thread)}
|
||||
@ -40,12 +40,43 @@ defmodule SomethingErlangWeb.ThreadLive.Show do
|
||||
|
||||
def user(assigns) do
|
||||
~H"""
|
||||
<aside class="userinfo shrink-0 w-[13em]">
|
||||
<h3><%= @info.name %></h3>
|
||||
<div class="title">
|
||||
<aside class="userinfo bg-base-100 shrink-0 w-[13em]">
|
||||
<h3 class="mb-4"><%= @info.name %></h3>
|
||||
<div class="title text-sm pr-4">
|
||||
<%= raw @info.title %>
|
||||
</div>
|
||||
</aside>
|
||||
"""
|
||||
end
|
||||
|
||||
def pagination(assigns) do
|
||||
%{page: page_number, page_count: page_count} = assigns.thread
|
||||
|
||||
first_page_disabled_button = if page_number == 1, do: " btn-disabled", else: ""
|
||||
last_page_disabled_button = if page_number == page_count, do: " btn-disabled", else: ""
|
||||
active_page_button = " btn-active"
|
||||
|
||||
prev_button_target = if page_number >= 1, do: page_number - 1, else: 1
|
||||
next_button_target = if page_number < page_count, do: page_number + 1, else: page_count
|
||||
|
||||
buttons = [
|
||||
%{label: "«", page: 1, special: first_page_disabled_button},
|
||||
%{label: "‹", page: prev_button_target, special: first_page_disabled_button},
|
||||
%{label: "#{page_number}", page: page_number, special: active_page_button},
|
||||
%{label: "›", page: next_button_target, special: last_page_disabled_button},
|
||||
%{label: "»", page: page_count, special: last_page_disabled_button}
|
||||
]
|
||||
|
||||
~H"""
|
||||
<div class="navbar my-4 bg-base-200">
|
||||
<div class="flex-1"></div>
|
||||
<div class="flex-none btn-group">
|
||||
<%= for btn <- buttons do %>
|
||||
<%= live_redirect btn.label, class: "btn btn-sm" <> btn.special,
|
||||
to: Routes.thread_show_path(@socket, :show, @thread.id, page: btn.page) %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
"""
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user