diff --git a/lib/live_beats_web/live/live_helpers.ex b/lib/live_beats_web/live/live_helpers.ex index b871a98..f297589 100644 --- a/lib/live_beats_web/live/live_helpers.ex +++ b/lib/live_beats_web/live/live_helpers.ex @@ -534,6 +534,7 @@ defmodule LiveBeatsWeb.LiveHelpers do assigns |> assign_new(:row_id, fn -> false end) |> assign_new(:active_id, fn -> nil end) + |> assign_new(:owns_profile?, fn -> assigns.owns_profile? end) |> assign(:col, for(col <- assigns.col, col[:if] != false, do: col)) ~H""" @@ -558,7 +559,8 @@ defmodule LiveBeatsWeb.LiveHelpers do row={row} col={@col} index={i} active_id={@active_id} - class="hover:bg-gray-50" + class="hover:bg-gray-50", + owns_profile?={@owns_profile?} /> <% end %> diff --git a/lib/live_beats_web/live/nav.ex b/lib/live_beats_web/live/nav.ex index a32a04a..c2dcec6 100644 --- a/lib/live_beats_web/live/nav.ex +++ b/lib/live_beats_web/live/nav.ex @@ -15,7 +15,7 @@ defmodule LiveBeatsWeb.Nav do active_tab = case {socket.view, socket.assigns.live_action} do {ProfileLive, _} -> - if params["profile_username"] == current_user_profile_userame(socket) do + if params["profile_username"] == current_user_profile_username(socket) do :profile end @@ -29,7 +29,7 @@ defmodule LiveBeatsWeb.Nav do {:cont, assign(socket, active_tab: active_tab)} end - defp current_user_profile_userame(socket) do + defp current_user_profile_username(socket) do if user = socket.assigns.current_user do user.username end diff --git a/lib/live_beats_web/live/player_live.ex b/lib/live_beats_web/live/player_live.ex index b4eaaea..7870794 100644 --- a/lib/live_beats_web/live/player_live.ex +++ b/lib/live_beats_web/live/player_live.ex @@ -48,38 +48,47 @@ defmodule LiveBeatsWeb.PlayerLive do
<% end %> - - - - - - + - - - + + + + + + + + <% else %> + + + + + <% end %> <.modal diff --git a/lib/live_beats_web/live/profile_live.ex b/lib/live_beats_web/live/profile_live.ex index 0d057f2..9f550fa 100644 --- a/lib/live_beats_web/live/profile_live.ex +++ b/lib/live_beats_web/live/profile_live.ex @@ -58,6 +58,7 @@ defmodule LiveBeatsWeb.ProfileLive do module={SongRowComponent} rows={@songs} row_id={fn song -> "song-#{song.id}" end} + owns_profile?={@owns_profile?} > <:col let={%{song: song}} label="Title"><%= song.title %> <:col let={%{song: song}} label="Artist"><%= song.artist %> diff --git a/lib/live_beats_web/live/profile_live/song_row_component.ex b/lib/live_beats_web/live/profile_live/song_row_component.ex index f1184f6..0ddcb69 100644 --- a/lib/live_beats_web/live/profile_live/song_row_component.ex +++ b/lib/live_beats_web/live/profile_live/song_row_component.ex @@ -28,7 +28,9 @@ defmodule LiveBeatsWeb.ProfileLive.SongRowComponent do <% end %> <%= if @status == :stopped do %> + <%= if @owns_profile? do %> <.icon name={:play} class="h-5 w-5 text-gray-400"/> + <% end %> <% end %> <% end %> @@ -52,7 +54,8 @@ defmodule LiveBeatsWeb.ProfileLive.SongRowComponent do col: assigns.col, class: assigns.class, index: assigns.index, - status: :stopped + status: :stopped, + owns_profile?: assigns.owns_profile? )} end end