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.1 KiB
JavaScript
20 lines
1.1 KiB
JavaScript
const { chromium } = require('playwright');
|
|
(async () => {
|
|
const b = await chromium.launch();
|
|
// Resultados (desktop)
|
|
let r = await b.newPage({ viewport: { width: 1280, height: 1200 } });
|
|
await r.goto('http://localhost:8081/?s=oraci%C3%B3n', { waitUntil: 'networkidle' });
|
|
await r.screenshot({ path: '/tmp/claude-1000/res_desktop.png', clip:{x:0,y:180,width:1280,height:880} });
|
|
// Desktop 800 ancho: barra NO debe verse (solo el Buscador del menú)
|
|
let d = await b.newPage({ viewport: { width: 900, height: 700 } });
|
|
await d.goto('http://localhost:8081/', { waitUntil: 'networkidle' });
|
|
const visD = await d.$eval('.fea-search-bar', el => getComputedStyle(el).display).catch(()=>'noel');
|
|
console.log('barra display @900px:', visD);
|
|
// Móvil: barra SÍ
|
|
let m = await b.newPage({ viewport: { width: 390, height: 700 } });
|
|
await m.goto('http://localhost:8081/', { waitUntil: 'networkidle' });
|
|
const visM = await m.$eval('.fea-search-bar', el => getComputedStyle(el).display).catch(()=>'noel');
|
|
console.log('barra display @390px:', visM);
|
|
await b.close();
|
|
})();
|