{% extends 'base.html' %}

{% block content %}
<div class="container mx-auto px-4">
    <div class="flex justify-between items-center mb-6">
        <h1 class="text-2xl font-bold dark:text-white">{% if question %}Frage bearbeiten{% else %}Reihenfolge Frage{% endif %}</h1>
        <a href="{% url 'library:detail_quiz' quiz.id %}" 
           class="bg-gray-100 text-gray-700 px-4 py-2 rounded-md hover:bg-gray-200 transition-colors">
            Zurück zum Quiz
        </a>
    </div>
    <div class="bg-white rounded-lg shadow-md p-6 border-blue-600 border-2 rounded-xl shadow-md dark:bg-transparent dark:text-white">
        <form method="post" class="space-y-6" enctype="multipart/form-data">
            {% csrf_token %}
            
            <!-- Question Text -->
            <div>
                <label for="question" class="block text-sm font-medium text-gray-700 dark:text-white">Frage</label>
                <div class="mt-1">
                    <textarea name="question" id="question" rows="4"
                           class="dark:bg-[#2a2f3a] shadow-sm  focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 block w-full sm:text-sm border-gray-300 rounded-md"
                           required>{{ question.data.question|default:'' }}</textarea>
                </div>
            </div>

            
            {% if image %}
            <img src="{{ image.image.url }}" style="max-width: 100px;" alt="Bild der Frage">
            <label for="reset_image">
                <input type="checkbox" name="reset_ques_image" id="reset_ques_image">
                Bild zurücksetzen
            </label>
            {% endif %}
            <div>
                <label class="font-bold" for="question_image">Bild:</label>
                <input value="image.url" class="max-w-full bg-blue-200 p-2 m-2 rounded-lg border-2 border-blue-400 dark:bg-transparent" type="file" name="question_image" id="question_image">
            </div>

            <!-- Options -->
            <div>
                <label class="block text-sm font-medium text-gray-700 mb-2  dark:text-white">richtige Reihenfolge</label>
                <div id="options-container" class="space-y-3">
                    {% if question and question.data.options %}
                        {% for option in question.data.options|dictsort:"order" %}
                            <div class="flex items-center space-x-3">
                                 <span class="number bg-blue-500 p-2 rounded-lg text-white">{{ forloop.counter }}.</span>
                                <textarea name="option_{{ forloop.counter }}" rows="2"
                                       class="dark:bg-[#2a2f3a] shadow-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 flex-grow sm:text-sm border-gray-300 rounded-md"
                                       required>{{ option.value }}</textarea>
                                <label class="inline-flex items-center">
                                </label>
                                <button type="button" onclick="removeOption(this)"
                                        class="text-red-600 hover:text-red-800 transition-colors">
                                    <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"/>
                                    </svg>
                                </button>
                            </div>
                        {% endfor %}
                    {% else %}
                    {% for i in "1234" %}
                        <div class="flex items-center space-x-3">
                            <span class="number bg-blue-500 p-2 rounded-lg text-white">{{ forloop.counter }}.</span>
                            <textarea name="option_{{ forloop.counter }}" rows="2"
                                   class="dark:bg-[#2a2f3a]  shadow-sm  focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 flex-grow sm:text-sm border-gray-300 rounded-md"
                                   required></textarea>
                            <label class="inline-flex items-center">
                          
                            </label>
                            <button type="button" onclick="removeOption(this)"
                                    class="text-red-600 hover:text-red-800 transition-colors">
                                <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"/>
                                </svg>
                            </button>
                        </div>
                          {% endfor %}
                    {% endif %}
                </div>
                <button type="button" onclick="addOption()" 
                        class="mt-3 inline-flex items-center px-3 py-1.5 border border-gray-300 shadow-sm text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500">
                    <svg class="h-4 w-4 mr-1.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4"/>
                    </svg>
                    Option hinzufügen
                </button>
            </div>

            <div class="p-4">
                <label class="font-bold" for="time_per_question">Zeit pro Frage:</label>
                <select name="time_per_question" id="time_per_question" class="dark:text-white dark:bg-[#2a2f3a] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
                    <option value="10" {% if standard_time_per_question == "10" or time_per_question == "10" %}selected{% endif %}>10 Sekunden</option>
                    <option value="20" {% if standard_time_per_question == "20" or time_per_question == "20" %}selected{% endif %}>20 Sekunden</option>
                    <option value="30" {% if standard_time_per_question == "30" or time_per_question == "30" %}selected{% endif %}>30 Sekunden</option>
                    <option value="45" {% if standard_time_per_question == "45" or time_per_question == "45" %}selected{% endif %}>45 Sekunden</option>
                    <option value="60" {% if standard_time_per_question == "60" or time_per_question == "60" %}selected{% endif %}>1 Minute</option>
                    <option value="120" {% if standard_time_per_question == "120" or time_per_question == "120" %}selected{% endif %}>2 Minuten</option>
                    <option value="300" {% if standard_time_per_question == "300" or time_per_question == "300" %}selected{% endif %}>5 Minuten</option>
                </select>
            </div>
                                                   <label for="credits" class="block text-sm font-medium text-gray-700  dark:text-white">Credits</label>
                <div class="mt-1">
                    <textarea name="credits" rows="4"
                           class="dark:bg-[#2a2f3a] shadow-sm  focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 block w-full sm:text-sm border-gray-300 rounded-md "
                           >{{ credits }}</textarea>
                </div>

            <div class="flex justify-end space-x-3">
                <a href="{% url 'library:detail_quiz' quiz.id %}" 
                   class="inline-flex items-center px-4 py-2 border border-gray-300 shadow-sm text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500">
                    Abbrechen
                </a>
                <button type="submit" 
                        class="inline-flex items-center px-4 py-2 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500">
                    {% if question %}Speichern{% else %}Erstellen{% endif %}
                </button>
            </div>
        </form>
    </div>
</div>

<script>



function addOption() {
    const container = document.getElementById('options-container');
    const optionCount = container.children.length + 1;
    
    if (optionCount > 6) {
        alert('Maximal 6 Optionen sind erlaubt.');
        return;
    }
    
    const div = document.createElement('div');
    div.className = 'flex items-center space-x-3';
    div.innerHTML = `



                               <span class="number bg-blue-500 p-2 rounded-lg text-white">${optionCount}.</span>
                            <textarea name="option_${optionCount}" rows="2"
                                   class="dark:bg-[#2a2f3a]  shadow-sm  focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 flex-grow sm:text-sm border-gray-300 rounded-md"
                                   required></textarea>
                            <label class="inline-flex items-center">
                          
                            </label>
                            <button type="button" onclick="removeOption(this)"
                                    class="text-red-600 hover:text-red-800 transition-colors">
                                <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"/>
                                </svg>
                            </button>
                            
    `;
    
    container.appendChild(div);
}

function removeOption(button) {
    
    const container = document.getElementById('options-container');
    if (container.children.length > 2) {
        button.parentElement.remove();
        updateOptionNumbers();
    } else {
        alert('Mindestens zwei Optionen müssen vorhanden sein.');
    }
}

function updateOptionNumbers() {
    const container = document.getElementById('options-container');
    const options = container.children;
    Array.from(options).forEach((option, index) => {
        const number = index + 1;
        const textInput = option.querySelector('textarea');
     

  
        textInput.name = `option_${number}`;
        const numberSpan = option.querySelector('span.number');
        if (numberSpan) {
            numberSpan.textContent = `${number}.`;
        }

    });
}
</script>
{% endblock %}
