{% extends 'base.html.twig' %}
{% block toolbar %}
    {% if toolbar is defined %}
        <twig:Toolbar toolbar="{{ toolbar }}"/>
    {% endif %}
{% endblock %}
{% block title %}Scrapper Configurations{% endblock %}

{% block body %}
    <div class="container mx-auto p-4">
        <h1 class="text-2xl font-bold mb-6">Scrapper Configurations</h1>

        <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
            {% for contentSource in contentSources %}
                <div
                    class="relative flex flex-col justify-between bg-white rounded-sm border border-gray-200 shadow-md hover:shadow-lg transition-shadow duration-300 h-full group">
                    <div class="p-4">
                        <div class="flex flex-row items-center justify-between mb-2">
                            <h5 class="text-xl tracking-tight text-gray-900 truncate flex-grow">
                                {{ contentSource.baseUrl|replace({'http://': '', 'https://': ''})|trim('/', 'right') }}
                            </h5>
                            <a href="{{ contentSource.baseUrl }}" target="_blank" rel="noopener noreferrer"
                               class="text-gray-400 hover:text-green-600 ml-2 z-10">
                                <i class="fas fa-external-link-alt"></i>
                            </a>
                        </div>
                    </div>
                    <div class="p-4 bg-gray-50">
                        <div class="flex space-x-2">
                            <span class="px-2 py-1 text-xs font-semibold text-white bg-green-400 rounded-sm">
                                {{ contentSource.scrapingType }}
                            </span>
                            <span class="px-2 py-1 text-xs font-semibold text-white bg-green-400 rounded-sm">
                                {{ contentSource.nextPageSelector ? 'Horizontal' : 'Vertical' }}
                            </span>
                        </div>
                    </div>
                    <a href="{{ path('app_settings_scrappers', {'id': contentSource.id}) }}"
                       class="absolute inset-0 z-0">
                        <span class="sr-only">Edit configuration</span>
                    </a>
                </div>
            {% endfor %}

            <a href="{{ path('app_settings_scrappers') }}"
               class="block p-6 bg-white rounded-sm border border-gray-200 shadow-md hover:bg-gray-100 flex items-center justify-center h-full">
                <div class="text-center">
                    <i class="fas fa-plus text-4xl text-gray-400 mb-2"></i>
                    <p class="text-gray-600">Add New Configuration</p>
                </div>
            </a>
        </div>
    </div>

    <twig:Modal
        openTrigger="openScrapperModal"
        closeTrigger="closeScrapperModal"
        title="Import/Export Scrapper Configurations"
        modalClass="w-full max-w-4xl"
        stimulus="scrapper_import"
    >
        {% block content %}
            <div {{ stimulus_controller('scrapper_import') }}>
                <div class="space-y-4 overflow-y-auto px-4">
                <textarea data-scrapper-import-target="textarea" rows="15"
                          class="w-full p-2 border rounded focus:outline-none focus:ring-2 focus:ring-green-500"></textarea>
                </div>
                <button type="button" data-action="modal#close"
                        class="mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm">
                    Cancel
                </button>
                <button data-scrapper-import-target="submitButton" type="button"
                        class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-green-600 text-base font-medium text-white hover:bg-green-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500 sm:ml-3 sm:w-auto sm:text-sm">
                    Submit
                </button>
            </div>
        {% endblock %}
        {% block footer %}
        {% endblock %}
    </twig:Modal>
{% endblock %}
