<!-- Alert List Partial -->
<!-- Full list of alerts for the alerts page -->

<div class="space-y-3">
    {% if alerts %}
        {% for item in alerts %}
        <div class="bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-4
                    {% if item.alert.severity == 'critical' and item.alert.status == 'active' %}border-l-4 border-l-red-500{% endif %}
                    {% if item.alert.severity == 'warning' and item.alert.status == 'active' %}border-l-4 border-l-yellow-500{% endif %}
                    {% if item.alert.status != 'active' %}opacity-60{% endif %}">
            <div class="flex items-start gap-4">
                <!-- Severity icon -->
                <div class="flex-shrink-0">
                    {% if item.alert.severity == 'critical' %}
                    <div class="w-10 h-10 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center">
                        <svg class="w-5 h-5 text-red-600 dark:text-red-400" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clip-rule="evenodd"/>
                        </svg>
                    </div>
                    {% elif item.alert.severity == 'warning' %}
                    <div class="w-10 h-10 rounded-full bg-yellow-100 dark:bg-yellow-900/30 flex items-center justify-center">
                        <svg class="w-5 h-5 text-yellow-600 dark:text-yellow-400" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clip-rule="evenodd"/>
                        </svg>
                    </div>
                    {% else %}
                    <div class="w-10 h-10 rounded-full bg-blue-100 dark:bg-blue-900/30 flex items-center justify-center">
                        <svg class="w-5 h-5 text-blue-600 dark:text-blue-400" fill="currentColor" viewBox="0 0 20 20">
                            <path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z" clip-rule="evenodd"/>
                        </svg>
                    </div>
                    {% endif %}
                </div>

                <!-- Content -->
                <div class="flex-1 min-w-0">
                    <div class="flex items-center gap-2 mb-1">
                        <h3 class="text-base font-semibold text-gray-900 dark:text-white">
                            {{ item.alert.title }}
                        </h3>
                        <!-- Status badge -->
                        {% if item.alert.status == 'active' %}
                        <span class="px-2 py-0.5 text-xs font-medium rounded-full bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-300">
                            Active
                        </span>
                        {% elif item.alert.status == 'acknowledged' %}
                        <span class="px-2 py-0.5 text-xs font-medium rounded-full bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-300">
                            Acknowledged
                        </span>
                        {% elif item.alert.status == 'resolved' %}
                        <span class="px-2 py-0.5 text-xs font-medium rounded-full bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300">
                            Resolved
                        </span>
                        {% elif item.alert.status == 'dismissed' %}
                        <span class="px-2 py-0.5 text-xs font-medium rounded-full bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-400">
                            Dismissed
                        </span>
                        {% endif %}
                    </div>

                    {% if item.alert.message %}
                    <p class="text-sm text-gray-600 dark:text-gray-300 mb-2">
                        {{ item.alert.message }}
                    </p>
                    {% endif %}

                    <div class="flex items-center gap-4 text-xs text-gray-500 dark:text-gray-400">
                        <span>{{ item.time_ago }}</span>
                        {% if item.alert.unit_id %}
                        <span class="flex items-center gap-1">
                            <svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z"/>
                            </svg>
                            {{ item.alert.unit_id }}
                        </span>
                        {% endif %}
                        <span class="capitalize">{{ item.alert.alert_type | replace('_', ' ') }}</span>
                    </div>
                </div>

                <!-- Actions -->
                {% if item.alert.status == 'active' %}
                <div class="flex items-center gap-2 flex-shrink-0">
                    <button hx-post="/api/alerts/{{ item.alert.id }}/acknowledge"
                            hx-swap="none"
                            hx-on::after-request="htmx.trigger('#alert-list', 'refresh')"
                            class="px-3 py-1.5 text-sm bg-gray-100 dark:bg-gray-700 text-gray-700 dark:text-gray-300 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-600 transition-colors">
                        Acknowledge
                    </button>
                    <button hx-post="/api/alerts/{{ item.alert.id }}/resolve"
                            hx-swap="none"
                            hx-on::after-request="htmx.trigger('#alert-list', 'refresh')"
                            class="px-3 py-1.5 text-sm bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-300 rounded-lg hover:bg-green-200 dark:hover:bg-green-900/50 transition-colors">
                        Resolve
                    </button>
                    <button hx-post="/api/alerts/{{ item.alert.id }}/dismiss"
                            hx-swap="none"
                            hx-on::after-request="htmx.trigger('#alert-list', 'refresh')"
                            class="px-3 py-1.5 text-sm text-gray-500 hover:text-red-600 dark:hover:text-red-400 transition-colors"
                            title="Dismiss">
                        <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/>
                        </svg>
                    </button>
                </div>
                {% endif %}
            </div>
        </div>
        {% endfor %}
    {% else %}
        <div class="bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-12 text-center">
            <svg class="w-16 h-16 mx-auto mb-4 text-gray-300 dark:text-gray-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/>
            </svg>
            <h3 class="text-lg font-medium text-gray-900 dark:text-white mb-2">No alerts</h3>
            <p class="text-gray-500 dark:text-gray-400">
                {% if status_filter %}
                    No {{ status_filter }} alerts found.
                {% else %}
                    All systems are operating normally.
                {% endif %}
            </p>
        </div>
    {% endif %}
</div>
