navigation.html 68 lignes · 2880 octets
<!-- Navigation Items -->
<nav class="flex items-center space-x-1">
    {% for item in nav_items %}
    <div class="relative group">
        {% if item.enabled %}
            <!-- Enabled Item -->
            <a href="{{ item.url }}" 
               class="btn btn-ghost btn-sm
                      {% if item.active %}
                      btn-active
                      {% endif %}">
                <!-- Icon -->
                <span class="text-base">
                    {% if item.icon == "home" %}🏠
                    {% elif item.icon == "folder" %}📁
                    {% elif item.icon == "settings" %}⚙️
                    {% elif item.icon == "check-square" %}☑️
                    {% elif item.icon == "shield" %}🛡️
                    {% else %}📄{% endif %}
                </span>
                <span class="whitespace-nowrap">{{ item.label }}</span>
                {% if item.has_badge %}
                <span class="badge badge-sm
                             {% if item.active %}
                             badge-primary
                             {% else %}
                             badge-ghost
                             {% endif %}">
                    {{ item.badge }}
                </span>
                {% endif %}
                {% if item.id == "settings" %}
                {% if has_pending_password_change %}
                <span class="badge badge-sm badge-warning" title="Changement de mot de passe en attente de confirmation">
                    ⚠️
                </span>
                {% endif %}
                {% endif %}
            </a>
        {% else %}
            <!-- Disabled Item -->
            <div class="btn btn-ghost btn-sm btn-disabled relative"
                 {% if item.has_disabled_message %}title="{{ item.disabled_message }}"{% endif %}>
                <span class="text-base">
                    {% if item.icon == "home" %}🏠
                    {% elif item.icon == "folder" %}📁
                    {% elif item.icon == "settings" %}⚙️
                    {% elif item.icon == "check-square" %}☑️
                    {% elif item.icon == "shield" %}🛡️
                    {% else %}📄{% endif %}
                </span>
                <span class="whitespace-nowrap">{{ item.label }}</span>
                {% if item.has_badge %}
                <span class="badge badge-sm badge-warning">
                    {{ item.badge }}
                </span>
                {% endif %}
            </div>
            
            <!-- Tooltip on hover -->
            {% if item.has_disabled_message %}
            <div class="tooltip tooltip-bottom absolute top-full left-0 mt-2 z-50 whitespace-nowrap" data-tip="{{ item.disabled_message }}">
            </div>
            {% endif %}
        {% endif %}
    </div>
    {% endfor %}
</nav>