defmodule PhoenixKitWeb.Components.UserDashboardNav do @moduledoc """ User dashboard navigation components for the PhoenixKit user dashboard. Provides navigation elements specifically for user dashboard pages. """ use PhoenixKitWeb, :html alias PhoenixKit.Modules.Languages alias PhoenixKit.Modules.Languages.DialectMapper alias PhoenixKit.Users.Auth.Scope alias PhoenixKit.Utils.Routes @doc """ Renders user dropdown for dashboard navigation. Shows user avatar with dropdown menu containing email, role, settings and logout. """ attr(:scope, :any, default: nil) attr(:current_path, :string, default: "") attr(:current_locale, :string, default: "en") def user_dropdown(assigns) do user = Scope.user(assigns.scope) avatar_file_id = user && user.custom_fields && user.custom_fields["avatar_file_id"] assigns = assigns |> assign(:avatar_file_id, avatar_file_id) |> assign(:user, user) ~H""" <%= if @scope && PhoenixKit.Users.Auth.Scope.authenticated?(@scope) do %>