{% extends "base.html" %}

{% block title %}Konfiguracja 2FA - Norda Biznes Hub{% endblock %}

{% block container_class %}container-narrow{% endblock %}

{% block extra_css %}
<style>
    .setup-container {
        max-width: 600px;
        margin: 0 auto;
        padding: var(--spacing-2xl) 0;
    }

    .setup-card {
        background-color: var(--surface);
        padding: var(--spacing-2xl);
        border-radius: var(--radius-xl);
        box-shadow: var(--shadow-lg);
    }

    .setup-header {
        text-align: center;
        margin-bottom: var(--spacing-xl);
    }

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

    .setup-steps {
        margin-bottom: var(--spacing-xl);
    }

    .step {
        display: flex;
        gap: var(--spacing-md);
        margin-bottom: var(--spacing-lg);
    }

    .step-number {
        width: 32px;
        height: 32px;
        background-color: var(--primary);
        color: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 600;
        flex-shrink: 0;
    }

    .step-content h3 {
        font-size: var(--font-size-base);
        color: var(--text-primary);
        margin-bottom: var(--spacing-xs);
    }

    .step-content p {
        font-size: var(--font-size-sm);
        color: var(--text-secondary);
        margin: 0;
    }

    .qr-container {
        text-align: center;
        padding: var(--spacing-xl);
        background-color: white;
        border-radius: var(--radius-lg);
        margin-bottom: var(--spacing-lg);
    }

    .qr-code {
        max-width: 200px;
        margin: 0 auto var(--spacing-md);
    }

    .qr-code img {
        width: 100%;
        height: auto;
    }

    .secret-key {
        background-color: var(--background);
        padding: var(--spacing-md);
        border-radius: var(--radius);
        font-family: monospace;
        font-size: var(--font-size-sm);
        word-break: break-all;
        margin-top: var(--spacing-md);
    }

    .form-group {
        margin-bottom: var(--spacing-lg);
    }

    .form-label {
        display: block;
        font-weight: 500;
        margin-bottom: var(--spacing-sm);
        color: var(--text-primary);
    }

    .form-input {
        width: 100%;
        padding: var(--spacing-md);
        border: 1px solid var(--border);
        border-radius: var(--radius);
        font-size: var(--font-size-xl);
        text-align: center;
        letter-spacing: 0.5em;
    }

    .form-input:focus {
        outline: none;
        border-color: var(--primary);
        box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
    }

    .btn-primary {
        width: 100%;
        padding: var(--spacing-md) var(--spacing-xl);
        background-color: var(--primary);
        color: white;
        border: none;
        border-radius: var(--radius);
        font-size: var(--font-size-base);
        font-weight: 600;
        cursor: pointer;
    }

    .btn-primary:hover {
        background-color: var(--primary-dark, #1d4ed8);
    }

    .cancel-link {
        text-align: center;
        margin-top: var(--spacing-lg);
    }

    .cancel-link a {
        color: var(--text-secondary);
        text-decoration: none;
    }

    .apps-list {
        display: flex;
        gap: var(--spacing-md);
        justify-content: center;
        flex-wrap: wrap;
        margin-top: var(--spacing-sm);
    }

    .app-badge {
        background-color: var(--background);
        padding: var(--spacing-xs) var(--spacing-md);
        border-radius: var(--radius);
        font-size: var(--font-size-xs);
        color: var(--text-secondary);
    }
</style>
{% endblock %}

{% block content %}
<div class="setup-container">
    <div class="setup-card">
        <div class="setup-header">
            <h1>🔐 Konfiguracja 2FA</h1>
        </div>

        <div class="setup-steps">
            <div class="step">
                <div class="step-number">1</div>
                <div class="step-content">
                    <h3>Pobierz aplikację uwierzytelniającą</h3>
                    <p>Użyj jednej z poniższych aplikacji na swoim telefonie:</p>
                    <div class="apps-list">
                        <span class="app-badge">Google Authenticator</span>
                        <span class="app-badge">Microsoft Authenticator</span>
                        <span class="app-badge">Authy</span>
                    </div>
                </div>
            </div>

            <div class="step">
                <div class="step-number">2</div>
                <div class="step-content">
                    <h3>Zeskanuj kod QR</h3>
                    <p>Otwórz aplikację i zeskanuj poniższy kod QR:</p>
                </div>
            </div>
        </div>

        <div class="qr-container">
            <!-- QR Code generated from URI -->
            <div class="qr-code">
                <img src="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data={{ qr_uri|urlencode }}" alt="QR Code">
            </div>
            <p style="font-size: var(--font-size-sm); color: var(--text-secondary);">
                Nie możesz zeskanować? Wprowadź ręcznie:
            </p>
            <div class="secret-key">{{ secret }}</div>
        </div>

        <div class="step">
            <div class="step-number">3</div>
            <div class="step-content">
                <h3>Wprowadź kod weryfikacyjny</h3>
                <p>Wpisz 6-cyfrowy kod z aplikacji:</p>
            </div>
        </div>

        <form method="POST" action="{{ url_for('settings_2fa') }}">
            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
            <input type="hidden" name="action" value="verify_setup">

            <div class="form-group">
                <input type="text" name="code" class="form-input"
                       maxlength="6" pattern="[0-9]{6}" inputmode="numeric"
                       placeholder="000000" autocomplete="one-time-code" required>
            </div>

            <button type="submit" class="btn-primary">
                Aktywuj 2FA
            </button>
        </form>

        <div class="cancel-link">
            <a href="{{ url_for('settings_2fa') }}">Anuluj</a>
        </div>
    </div>
</div>
{% endblock %}
