user_menu.html
43 lignes · 1915 octets
<!-- User Menu with DaisyUI and Alpine.js --> <div class="dropdown dropdown-end" x-data="{ open: false }" @click.away="open = false"> <!-- User Menu Button --> <button type="button" @click.stop="open = !open" class="btn btn-ghost flex items-center gap-3 normal-case cursor-pointer"> <!-- Avatar with initials --> <div class="avatar placeholder"> <div class="bg-primary text-primary-content rounded-full w-10 h-10" style="background-color: {{ avatar_color }} !important;"> <span class="text-sm font-semibold">{{ initials }}</span> </div> </div> <!-- Username (hidden on small screens) --> <div class="hidden lg:block text-left"> <div class="text-sm font-medium text-base-content">{{ username }}</div> <div class="text-xs text-base-content/60">{{ email }}</div> </div> <!-- Dropdown Arrow --> <svg class="w-4 h-4 text-base-content transition-transform duration-200" :class="{ 'rotate-180': open }" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/> </svg> </button> <!-- Dropdown Menu --> <ul x-show="open" x-cloak x-transition:enter="transition ease-out duration-100" x-transition:enter-start="opacity-0 scale-95" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-75" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-95" class="dropdown-content menu bg-base-100 rounded-box z-[1] w-64 p-2 shadow-lg border border-base-300 mt-2"> {% include "fragments/user_menu_dropdown.html" %} </ul> </div>
GitRust