82 lines
4.2 KiB
Twig
82 lines
4.2 KiB
Twig
{% 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 %}
|