defmodule LiveBeatsWeb.LayoutView do use LiveBeatsWeb, :view # Phoenix LiveDashboard is available only in development by default, # so we instruct Elixir to not warn if the dashboard route is missing. @compile {:no_warn_undefined, {Routes, :live_dashboard_path, 2}} alias LiveBeatsWeb.Endpoint def sidebar_active_users(assigns) do ~H"""

Active Users

<%= for user <- @users do %> <.link navigate={profile_path(user)} class="group flex items-center px-3 py-2 text-base leading-5 font-medium text-gray-600 rounded-md hover:text-gray-900 hover:bg-gray-50" > <%= user.username %> <% end %>
""" end def sidebar_nav_links(assigns) do ~H"""
<%= if @current_user do %> <.link navigate={profile_path(@current_user)} class={"text-gray-700 hover:text-gray-900 group flex items-center px-2 py-2 text-sm font-medium rounded-md #{if @active_tab == :profile, do: "bg-gray-200", else: "hover:bg-gray-50"}"} > <.icon name={:music_note} outlined class="text-gray-400 group-hover:text-gray-500 mr-3 flex-shrink-0 h-6 w-6"/> My Songs <.link navigate={Routes.settings_path(Endpoint, :edit)} class={"text-gray-700 hover:text-gray-900 group flex items-center px-2 py-2 text-sm font-medium rounded-md #{if @active_tab == :settings, do: "bg-gray-200", else: "hover:bg-gray-50"}"} > <.icon name={:adjustments} outlined class="text-gray-400 group-hover:text-gray-500 mr-3 flex-shrink-0 h-6 w-6"/> Settings <% else %> <.link navigate={Routes.sign_in_path(Endpoint, :index)} class="text-gray-700 hover:text-gray-900 hover:bg-gray-50 group flex items-center px-2 py-2 text-sm font-medium rounded-md" > Sign in <% end %>
""" end def sidebar_account_dropdown(assigns) do ~H""" <.dropdown id={@id}> <:img src={@current_user.avatar_url}/> <:title><%= @current_user.name %> <:subtitle>@<%= @current_user.username %> <:link navigate={profile_path(@current_user)}>View Profile <:link navigate={Routes.settings_path(Endpoint, :edit)}>Settings <:link href={Routes.o_auth_callback_path(Endpoint, :sign_out)} method={:delete}>Sign out """ end end