{% extends "base.html" %}

{% block title %}Blokady - Moje konto - Norda Biznes Partner{% endblock %}

{% block extra_css %}
<style>
    .konto-layout {
        display: grid;
        grid-template-columns: 240px 1fr;
        gap: var(--spacing-xl);
        max-width: 1000px;
        margin: 0 auto;
    }

    .konto-sidebar {
        background: var(--surface);
        border-radius: var(--radius-lg);
        padding: var(--spacing-lg);
        box-shadow: var(--shadow);
        height: fit-content;
        position: sticky;
        top: 100px;
    }

    .konto-sidebar-header {
        display: flex;
        align-items: center;
        gap: var(--spacing-md);
        padding-bottom: var(--spacing-md);
        margin-bottom: var(--spacing-md);
        border-bottom: 1px solid var(--border);
    }

    .konto-avatar {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--primary), #1e40af);
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        font-weight: 600;
    }

    .konto-sidebar-name {
        font-weight: 600;
        color: var(--text-primary);
        font-size: var(--font-size-sm);
    }

    .konto-sidebar-email {
        font-size: 11px;
        color: var(--text-secondary);
        word-break: break-all;
    }

    .konto-nav {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-xs);
    }

    .konto-nav a {
        display: flex;
        align-items: center;
        gap: var(--spacing-sm);
        padding: var(--spacing-sm) var(--spacing-md);
        border-radius: var(--radius);
        text-decoration: none;
        color: var(--text-secondary);
        font-size: var(--font-size-sm);
        transition: all 0.2s;
    }

    .konto-nav a:hover {
        background: var(--background);
        color: var(--text-primary);
    }

    .konto-nav a.active {
        background: var(--primary);
        color: white;
    }

    .konto-nav a svg {
        width: 18px;
        height: 18px;
        flex-shrink: 0;
    }

    .konto-content {
        background: var(--surface);
        border-radius: var(--radius-lg);
        padding: var(--spacing-xl);
        box-shadow: var(--shadow);
    }

    .konto-header {
        margin-bottom: var(--spacing-xl);
        padding-bottom: var(--spacing-lg);
        border-bottom: 1px solid var(--border);
    }

    .konto-header h1 {
        font-size: var(--font-size-2xl);
        color: var(--text-primary);
        margin-bottom: var(--spacing-xs);
    }

    .konto-header p {
        color: var(--text-secondary);
    }

    .info-banner {
        background: #fef3c7;
        border: 1px solid #fbbf24;
        border-radius: var(--radius);
        padding: var(--spacing-md);
        margin-bottom: var(--spacing-lg);
        font-size: var(--font-size-sm);
        color: #92400e;
    }

    .block-card {
        background: var(--background);
        border-radius: var(--radius);
        padding: var(--spacing-lg);
        margin-bottom: var(--spacing-lg);
    }

    .block-card h2 {
        font-size: var(--font-size-lg);
        color: var(--text-primary);
        margin-bottom: var(--spacing-md);
    }

    .add-block-form {
        display: flex;
        gap: var(--spacing-md);
        align-items: flex-end;
        flex-wrap: wrap;
    }

    .add-block-form .form-group {
        flex: 1;
        min-width: 200px;
    }

    .add-block-form label {
        display: block;
        font-size: var(--font-size-sm);
        color: var(--text-secondary);
        margin-bottom: var(--spacing-xs);
    }

    .add-block-form select {
        width: 100%;
        padding: var(--spacing-sm);
        border: 1px solid var(--border);
        border-radius: var(--radius);
        font-size: var(--font-size-base);
    }

    .blocked-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .blocked-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: var(--spacing-md);
        border-bottom: 1px solid var(--border);
    }

    .blocked-item:last-child {
        border-bottom: none;
    }

    .blocked-info {
        display: flex;
        align-items: center;
        gap: var(--spacing-md);
    }

    .blocked-avatar {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: var(--background);
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 600;
        color: var(--text-secondary);
    }

    .blocked-name {
        font-weight: 500;
        color: var(--text-primary);
    }

    .blocked-date {
        font-size: var(--font-size-sm);
        color: var(--text-secondary);
    }

    .btn-unblock {
        background: var(--background);
        border: 1px solid var(--border);
        color: var(--text-secondary);
        padding: var(--spacing-xs) var(--spacing-md);
        border-radius: var(--radius);
        cursor: pointer;
        font-size: var(--font-size-sm);
        transition: all 0.2s;
    }

    .btn-unblock:hover {
        background: var(--error);
        color: white;
        border-color: var(--error);
    }

    .empty-state {
        text-align: center;
        padding: var(--spacing-xl);
        color: var(--text-secondary);
    }

    @media (max-width: 768px) {
        .konto-layout {
            grid-template-columns: 1fr;
        }

        .konto-sidebar {
            position: static;
        }

        .konto-nav {
            flex-direction: row;
            flex-wrap: wrap;
        }

        .add-block-form {
            flex-direction: column;
            align-items: stretch;
        }
    }
</style>
{% endblock %}

{% block content %}
<div class="konto-layout">
    <aside class="konto-sidebar">
        <div class="konto-sidebar-header">
            <div class="konto-avatar">
                {{ (current_user.name or current_user.email)[0].upper() }}
            </div>
            <div>
                <div class="konto-sidebar-name">{{ current_user.name or 'Użytkownik' }}</div>
                <div class="konto-sidebar-email">{{ current_user.email }}</div>
            </div>
        </div>
        <nav class="konto-nav">
            <a href="{{ url_for('konto_dane') }}">
                <svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
                    <path d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"/>
                </svg>
                Twoje dane
            </a>
            <a href="{{ url_for('konto_prywatnosc') }}">
                <svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
                    <path d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"/>
                </svg>
                Prywatność
            </a>
            <a href="{{ url_for('konto_bezpieczenstwo') }}">
                <svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
                    <path d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/>
                </svg>
                Bezpieczeństwo
            </a>
            <a href="{{ url_for('konto_blokady') }}" class="active">
                <svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
                    <path d="M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636"/>
                </svg>
                Blokady
            </a>
        </nav>
    </aside>

    <main class="konto-content">
        <div class="konto-header">
            <h1>Blokady</h1>
            <p>Zarządzaj listą zablokowanych użytkowników</p>
        </div>

        <div class="info-banner">
            Zablokowany użytkownik nie może wysyłać Ci wiadomości, a Ty nie możesz wysyłać wiadomości do niego.
        </div>

        <div class="block-card">
            <h2>Zablokuj użytkownika</h2>
            <form method="POST" action="{{ url_for('konto_blokady_dodaj') }}" class="add-block-form">
                <input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
                <div class="form-group">
                    <label for="user_id">Wybierz użytkownika</label>
                    <select id="user_id" name="user_id" required>
                        <option value="">-- Wybierz --</option>
                        {% for user in available_users %}
                        <option value="{{ user.id }}">{{ user.name or user.email.split('@')[0] }}</option>
                        {% endfor %}
                    </select>
                </div>
                <button type="submit" class="btn btn-primary">Zablokuj</button>
            </form>
        </div>

        <div class="block-card">
            <h2>Lista zablokowanych ({{ blocks|length }})</h2>

            {% if blocks %}
            <ul class="blocked-list">
                {% for block in blocks %}
                <li class="blocked-item">
                    <div class="blocked-info">
                        <div class="blocked-avatar">
                            {{ (block.blocked_user.name or block.blocked_user.email)[0].upper() }}
                        </div>
                        <div>
                            <div class="blocked-name">{{ block.blocked_user.name or block.blocked_user.email.split('@')[0] }}</div>
                            <div class="blocked-date">Zablokowano: {{ block.created_at.strftime('%d.%m.%Y') if block.created_at else '-' }}</div>
                        </div>
                    </div>
                    <form method="POST" action="{{ url_for('konto_blokady_usun', block_id=block.id) }}" style="margin: 0;">
                        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
                        <button type="submit" class="btn-unblock" onclick="return confirm('Czy na pewno chcesz odblokować tego użytkownika?')">
                            Odblokuj
                        </button>
                    </form>
                </li>
                {% endfor %}
            </ul>
            {% else %}
            <div class="empty-state">
                <p>Nie masz zablokowanych użytkowników</p>
            </div>
            {% endif %}
        </div>
    </main>
</div>
{% endblock %}
