añadida pestaña de traducido
This commit is contained in:
parent
a9c1e16bdd
commit
0bfeb610a9
4 changed files with 179 additions and 121 deletions
|
|
@ -6,11 +6,8 @@
|
|||
<h2><i class="fas fa-filter" style="color: var(--secondary-color); margin-right: 10px;"></i>Filtrar Noticias</h2>
|
||||
|
||||
<form method="get" action="{{ url_for('home') }}" id="filter-form">
|
||||
<!-- Campos ocultos para paginación -->
|
||||
<input type="hidden" name="page" id="page" value="{{ page or 1 }}">
|
||||
<input type="hidden" name="per_page" id="per_page" value="{{ per_page or 20 }}">
|
||||
|
||||
<!-- Idioma/traducción por defecto -->
|
||||
<input type="hidden" name="lang" id="lang" value="{{ (lang or 'es') }}">
|
||||
{% if not use_tr %}
|
||||
<input type="hidden" name="orig" id="orig" value="1">
|
||||
|
|
@ -68,7 +65,6 @@
|
|||
</form>
|
||||
</div>
|
||||
|
||||
<!-- Barra de estado de traducción -->
|
||||
<div class="card" style="margin-top: 16px; padding: 12px;">
|
||||
{% if use_tr %}
|
||||
<div class="alert alert-info" style="margin:0;">
|
||||
|
|
@ -84,7 +80,6 @@
|
|||
</div>
|
||||
|
||||
<div id="noticias-container" style="margin-top:16px;">
|
||||
{# El parcial incluye la lista + la paginación #}
|
||||
{% include '_noticias_list.html' %}
|
||||
</div>
|
||||
|
||||
|
|
@ -111,7 +106,6 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||
}
|
||||
|
||||
async function cargarNoticias(keepPage) {
|
||||
// Si cambiamos filtros manualmente, reiniciamos a página 1
|
||||
if (!keepPage) pageInput.value = 1;
|
||||
|
||||
const formData = new FormData(form);
|
||||
|
|
@ -135,40 +129,17 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||
}
|
||||
}
|
||||
|
||||
// Envío del formulario (filtrar) -> page = 1
|
||||
form.addEventListener('submit', function(e) {
|
||||
e.preventDefault();
|
||||
cargarNoticias(false);
|
||||
});
|
||||
|
||||
// Clic en enlaces de paginación (delegación)
|
||||
document.addEventListener('click', function(e) {
|
||||
const link = e.target.closest('a.page-link');
|
||||
if (link) {
|
||||
// soporta data-page o parseo del href
|
||||
let nextPage = link.dataset.page;
|
||||
if (!nextPage) {
|
||||
try {
|
||||
const u = new URL(link.href);
|
||||
nextPage = u.searchParams.get('page');
|
||||
} catch(_) {}
|
||||
}
|
||||
if (nextPage) {
|
||||
e.preventDefault();
|
||||
pageInput.value = nextPage;
|
||||
cargarNoticias(true);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Conmutar traducciones <-> originales manteniendo filtros
|
||||
const toggleOrig = document.getElementById('toggle-orig');
|
||||
const toggleTr = document.getElementById('toggle-tr');
|
||||
|
||||
if (toggleOrig) {
|
||||
toggleOrig.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
// orig=1 fuerza originales
|
||||
origInput.value = '1';
|
||||
cargarNoticias(false);
|
||||
});
|
||||
|
|
@ -176,22 +147,18 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||
if (toggleTr) {
|
||||
toggleTr.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
// orig vacío => usar traducciones
|
||||
origInput.value = '';
|
||||
// asegúrate de tener lang (por si el back usa default)
|
||||
if (!langInput.value) langInput.value = 'es';
|
||||
cargarNoticias(false);
|
||||
});
|
||||
}
|
||||
|
||||
// Inicializaciones
|
||||
continenteSelect.addEventListener('change', function() {
|
||||
filtrarPaises();
|
||||
// al cambiar continente, forzamos recarga desde página 1
|
||||
cargarNoticias(false);
|
||||
});
|
||||
|
||||
filtrarPaises(); // Ejecutar al inicio
|
||||
filtrarPaises();
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue