113 lines
2.3 KiB
HTML
113 lines
2.3 KiB
HTML
|
|
<div class="user-menu-dropdown">
|
||
|
|
<div class="user-info">
|
||
|
|
<div class="user-avatar-large">
|
||
|
|
{{ user_initial }}
|
||
|
|
</div>
|
||
|
|
<div class="user-details">
|
||
|
|
<div class="user-name">{{ user_name }}</div>
|
||
|
|
<div class="user-email">{{ user_email }}</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<div class="menu-divider"></div>
|
||
|
|
|
||
|
|
<a href="/profile" class="menu-item" hx-get="/profile" hx-push-url="true" hx-target="body">
|
||
|
|
<span>👤</span> Profile
|
||
|
|
</a>
|
||
|
|
|
||
|
|
<a href="/settings" class="menu-item" hx-get="/settings" hx-push-url="true" hx-target="body">
|
||
|
|
<span>⚙️</span> Settings
|
||
|
|
</a>
|
||
|
|
|
||
|
|
<a href="/help" class="menu-item" hx-get="/help" hx-push-url="true" hx-target="body">
|
||
|
|
<span>❓</span> Help & Support
|
||
|
|
</a>
|
||
|
|
|
||
|
|
<div class="menu-divider"></div>
|
||
|
|
|
||
|
|
<button class="menu-item logout-btn"
|
||
|
|
hx-post="/logout"
|
||
|
|
hx-confirm="Are you sure you want to logout?">
|
||
|
|
<span>🚪</span> Logout
|
||
|
|
</button>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<style>
|
||
|
|
.user-menu-dropdown {
|
||
|
|
position: absolute;
|
||
|
|
top: 100%;
|
||
|
|
right: 0;
|
||
|
|
margin-top: 0.5rem;
|
||
|
|
background: var(--surface);
|
||
|
|
border: 1px solid var(--border);
|
||
|
|
border-radius: 8px;
|
||
|
|
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
|
||
|
|
min-width: 240px;
|
||
|
|
z-index: 1000;
|
||
|
|
}
|
||
|
|
|
||
|
|
.user-info {
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
gap: 0.75rem;
|
||
|
|
padding: 1rem;
|
||
|
|
}
|
||
|
|
|
||
|
|
.user-avatar-large {
|
||
|
|
width: 40px;
|
||
|
|
height: 40px;
|
||
|
|
background: var(--primary);
|
||
|
|
color: white;
|
||
|
|
border-radius: 50%;
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
justify-content: center;
|
||
|
|
font-weight: 600;
|
||
|
|
font-size: 1.125rem;
|
||
|
|
}
|
||
|
|
|
||
|
|
.user-details {
|
||
|
|
flex: 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
.user-name {
|
||
|
|
font-weight: 600;
|
||
|
|
font-size: 0.875rem;
|
||
|
|
}
|
||
|
|
|
||
|
|
.user-email {
|
||
|
|
font-size: 0.75rem;
|
||
|
|
color: var(--text-secondary);
|
||
|
|
}
|
||
|
|
|
||
|
|
.menu-divider {
|
||
|
|
height: 1px;
|
||
|
|
background: var(--border);
|
||
|
|
margin: 0.25rem 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.menu-item {
|
||
|
|
display: flex;
|
||
|
|
align-items: center;
|
||
|
|
gap: 0.75rem;
|
||
|
|
padding: 0.625rem 1rem;
|
||
|
|
color: var(--text);
|
||
|
|
text-decoration: none;
|
||
|
|
font-size: 0.875rem;
|
||
|
|
transition: background 0.2s;
|
||
|
|
cursor: pointer;
|
||
|
|
border: none;
|
||
|
|
background: none;
|
||
|
|
width: 100%;
|
||
|
|
text-align: left;
|
||
|
|
}
|
||
|
|
|
||
|
|
.menu-item:hover {
|
||
|
|
background: var(--hover);
|
||
|
|
}
|
||
|
|
|
||
|
|
.logout-btn {
|
||
|
|
color: var(--error);
|
||
|
|
}
|
||
|
|
</style>
|