e2f23ace9f
Replica el «Buscador avanzado» del Joomla viejo sin servicios externos: - fea-search-fulltext.php: motor MySQL FULLTEXT (MATCH AGAINST, Boolean Mode, orden por relevancia); comprueba que existe el índice fea_ft y degrada al buscador nativo si no, sin romper. - fea-search-advanced.php: formulario con filtros por autor, categoría (lista curada de secciones), cita bíblica (meta _cita_evangelio por prefijo) y rango de fechas; pre_get_posts, chips de filtros, byline en tarjetas, i18n es/en/fr/it/pt. Excluye pseudo-autores «Testamento». - create_buscar_page.php: crea la página /buscar + traducciones (idempotente). - tools/e2e: suite Playwright de verificación. Desplegado y verificado en prod (índice fea_ft + página /buscar + traducciones). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
20 lines
1.0 KiB
JavaScript
20 lines
1.0 KiB
JavaScript
const { chromium } = require('playwright');
|
|
(async () => {
|
|
const b = await chromium.launch();
|
|
// Desktop: cabecera con barra
|
|
let p = await b.newPage({ viewport: { width: 1280, height: 900 } });
|
|
await p.goto('http://localhost:8081/', { waitUntil: 'networkidle' });
|
|
const bar = await p.$('.fea-search-bar');
|
|
console.log('barra presente desktop:', !!bar);
|
|
await p.screenshot({ path: '/tmp/claude-1000/search_desktop.png', clip: {x:0,y:0,width:1280,height:320} });
|
|
// Móvil
|
|
let m = await b.newPage({ viewport: { width: 390, height: 800 } });
|
|
await m.goto('http://localhost:8081/', { waitUntil: 'networkidle' });
|
|
await m.screenshot({ path: '/tmp/claude-1000/search_mobile.png', clip: {x:0,y:0,width:390,height:360} });
|
|
// Resultados
|
|
let r = await b.newPage({ viewport: { width: 1280, height: 1000 } });
|
|
await r.goto('http://localhost:8081/?s=oraci%C3%B3n', { waitUntil: 'networkidle' });
|
|
await r.screenshot({ path: '/tmp/claude-1000/search_results.png', clip: {x:0,y:0,width:1280,height:700} });
|
|
await b.close();
|
|
})();
|