Files
feadulta/tools/e2e/shot_search2.cjs
T
rafa e2f23ace9f feat(#8): buscador avanzado nativo (FULLTEXT + filtros)
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>
2026-06-27 18:24:53 -04:00

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();
})();