Skip to content

Commit f0efa78

Browse files
committed
feat(menu): use a dropdown menu
Signed-off-by: SphericalKat <amolele@gmail.com>
1 parent ca905d4 commit f0efa78

File tree

3 files changed

+52
-35
lines changed

3 files changed

+52
-35
lines changed

assets/package-lock.json

Lines changed: 29 additions & 31 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@
1717
"fs-extra": "^10.0.0",
1818
"postcss": "^8.3.6",
1919
"postcss-import": "^15.0.0",
20-
"tailwindcss": "^3.0.0"
20+
"tailwindcss": "^3.4.3"
2121
}
2222
}

lib/ketbin_web/templates/layout/_user_menu.html.heex

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,27 @@
1+
<script>
2+
function toggleDropdown() {
3+
const dropdown = document.querySelector('#dropdown');
4+
const dropdownLabel = document.querySelector('#dropdown-label');
5+
if (dropdown.classList.contains('hidden')) {
6+
dropdown.classList.remove('hidden');
7+
dropdown.classList.add('absolute');
8+
dropdownLabel.innerHTML = dropdownLabel.innerHTML.replace('▼', '▲');
9+
} else {
10+
dropdown.classList.add('hidden');
11+
dropdown.classList.remove('absolute');
12+
dropdownLabel.innerHTML = dropdownLabel.innerHTML.replace('▲', '▼');
13+
}
14+
}
15+
</script>
116
<ul>
217
<%= if @current_user do %>
3-
<li><%= @current_user.email %></li>
4-
<li><%= link "Settings", to: Routes.user_settings_path(@conn, :edit) %></li>
5-
<li><%= link "Log out", to: Routes.user_session_path(@conn, :delete), method: :delete %></li>
18+
<div class="relative">
19+
<li id="dropdown-label" onclick="toggleDropdown()" class="text-[#ff9800] cursor-pointer select-none"><%= @current_user.email %></li>
20+
<div id="dropdown" class="hidden right-0 z-50 bg-[#313131] px-4 py-2">
21+
<li><%= link "Settings", to: Routes.user_settings_path(@conn, :edit) %></li>
22+
<li><%= link "Log out", to: Routes.user_session_path(@conn, :delete), method: :delete %></li>
23+
</div>
24+
</div>
625
<% else %>
726
<li><%= link "Register", to: Routes.user_registration_path(@conn, :new) %></li>
827
<li><%= link "Log in", to: Routes.user_session_path(@conn, :new) %></li>

0 commit comments

Comments
 (0)