app/views/shared/_header.html.erb
<div class="page_container header_inner">
<a href="/" title="home" class="header_logo"></a>
<%= render partial: 'shared/search' %>
<% if logged_in? %>
<div class="user_dropdown" data-controller="user-dropdown"
data-action="keydown@window->user-dropdown#handleEvent">
<%= link_to '#', class: 'profile_link', data: {action: "user-dropdown#open" } do %>
<%= user_image(current_user, variant: :small_avatar) %>
<% end %>
<div class="user_dropdown_menu" style="display:none;"
data-user-dropdown-target="menu">
<div class="user_dropdown_menu_header" data-user-dropdown-target="header">
<%= truncate current_user.name, length: 24 %>
<%= user_image(current_user, variant: :small_avatar) %>
</div>
<ul class="user_dropdown_menu_items">
<li>
<%= link_to 'Your Profile', main_app.user_home_path(current_user) %>
<%= link_to 'Edit', main_app.edit_user_path(current_user), class: 'edit_profile_item' %>
</li>
<li><%= link_to 'Upload New Track', main_app.upload_path %></li>
<li><%= link_to 'Create Album or Playlist', main_app.new_user_playlist_path(current_user) %></li>
</ul>
<div class="user_dropdown_menu_bottom_links">
<a href="#" class="switch_to_theme switch_to_light"
data-user-dropdown-target="switchToLight"
data-action="click->user-dropdown#switchToLight"
style="display: <%= 'none' if light_theme? %>" >
<div class="switcher_label">DARK</div>
<div class="switcher_inner"></div>
</a>
<a href="#" class="switch_to_theme switch_to_dark"
data-user-dropdown-target="switchToDark"
data-action="click->user-dropdown#switchToDark"
style="display: <%= 'none' if dark_theme? %>" >
<div class="switcher_inner"></div>
<div class="switcher_label">LIGHT</div>
</a>
<%= link_to 'Log Out', main_app.logout_path, class: 'logout_item', data: { turbolinks: "false" } %>
</div>
</div>
</div>
<% end %>
<% unless logged_in? %>
<%= link_to 'Log in', main_app.login_path, class: 'login_button' %>
<% end %>
</div>