{# app/templates/merchant/partials/header.html #}
<header class="z-10 py-4 bg-white shadow-md dark:bg-gray-800">
    <div class="container flex items-center justify-between h-full px-6 mx-auto text-purple-600 dark:text-purple-300">
        <!-- Mobile hamburger -->
        <button class="p-1 mr-5 -ml-1 rounded-md md:hidden focus:outline-none focus:shadow-outline-purple"
                @click="toggleSideMenu"
                aria-label="Menu">
            <span x-html="$icon('menu', 'w-6 h-6')"></span>
        </button>

        <!-- Spacer -->
        <div class="flex-1"></div>

        <ul class="flex items-center flex-shrink-0 space-x-6">
            <!-- Theme toggler -->
            <li class="flex">
                <button class="rounded-md focus:outline-none focus:shadow-outline-purple"
                        @click="toggleTheme"
                        aria-label="Toggle color mode">
                    <template x-if="!dark">
                        <span x-html="$icon('moon', 'w-5 h-5')"></span>
                    </template>
                    <template x-if="dark">
                        <span x-html="$icon('sun', 'w-5 h-5')"></span>
                    </template>
                </button>
            </li>

            <!-- Language selector -->
            <li class="relative" x-data="languageSelector('{{ request.state.language|default('fr') }}')">
                <button
                    @click="isLangOpen = !isLangOpen"
                    @click.outside="isLangOpen = false"
                    class="inline-flex items-center gap-1 p-1 rounded-md focus:outline-none focus:shadow-outline-purple"
                    aria-label="Change language"
                >
                    <span x-html="$icon('globe-alt', 'w-5 h-5')"></span>
                    <span class="text-xs font-semibold text-gray-600 dark:text-gray-300 uppercase" x-text="currentLang"></span>
                </button>
                <div
                    x-show="isLangOpen"
                    x-cloak
                    x-transition:enter="transition ease-out duration-100"
                    x-transition:enter-start="transform opacity-0 scale-95"
                    x-transition:enter-end="transform opacity-100 scale-100"
                    x-transition:leave="transition ease-in duration-75"
                    x-transition:leave-start="transform opacity-100 scale-100"
                    x-transition:leave-end="transform opacity-0 scale-95"
                    class="absolute right-0 w-44 mt-2 bg-white dark:bg-gray-700 rounded-lg shadow-lg border border-gray-100 dark:border-gray-600 py-1 z-50"
                >
                    <template x-for="lang in languages" :key="lang">
                        <button
                            @click="setLanguage(lang)"
                            type="button"
                            class="flex items-center gap-3 w-full px-4 py-2 text-sm font-medium transition-colors"
                            :class="currentLang === lang
                                ? 'bg-purple-50 dark:bg-purple-900/20 text-purple-700 dark:text-purple-300'
                                : 'text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-600'"
                        >
                            <span class="fi" :class="'fi-' + languageFlags[lang]"></span>
                            <span x-text="languageNames[lang]"></span>
                            <span x-show="currentLang === lang" x-html="$icon('check', 'w-4 h-4 ml-auto')" class="text-purple-600 dark:text-purple-400"></span>
                        </button>
                    </template>
                </div>
            </li>

            <!-- Profile menu -->
            <li class="relative" x-data="{ profileOpen: false }">
                <button class="align-middle rounded-full focus:shadow-outline-purple focus:outline-none"
                        @click="profileOpen = !profileOpen"
                        @keydown.escape="profileOpen = false"
                        aria-label="Account"
                        aria-haspopup="true">
                    <div class="w-8 h-8 rounded-full bg-purple-600 flex items-center justify-center text-white font-semibold">
                        <span x-text="merchantName?.charAt(0).toUpperCase() || '?'"></span>
                    </div>
                </button>

                <ul x-show="profileOpen"
                    x-cloak
                    x-transition:leave="transition ease-in duration-150"
                    x-transition:leave-start="opacity-100"
                    x-transition:leave-end="opacity-0"
                    @click.away="profileOpen = false"
                    @keydown.escape="profileOpen = false"
                    class="absolute right-0 w-56 p-2 mt-2 space-y-2 text-gray-600 bg-white border border-gray-100 rounded-md shadow-md dark:border-gray-700 dark:text-gray-300 dark:bg-gray-700 z-50"
                    style="display: none;"
                    aria-label="submenu">
                    <li class="flex">
                        <a class="inline-flex items-center w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200"
                           href="/merchants/account/profile">
                            <span x-html="$icon('user', 'w-4 h-4 mr-3')"></span>
                            <span>Profile</span>
                        </a>
                    </li>
                    <li class="flex">
                        <button
                            @click="handleLogout()"
                            class="inline-flex items-center w-full px-2 py-1 text-sm font-semibold transition-colors duration-150 rounded-md hover:bg-gray-100 hover:text-gray-800 dark:hover:bg-gray-800 dark:hover:text-gray-200 text-left">
                            <span x-html="$icon('logout', 'w-4 h-4 mr-3')"></span>
                            <span>Log out</span>
                        </button>
                    </li>
                </ul>
            </li>
        </ul>
    </div>
</header>
