#!/usr/bin/env node import { chromium } from 'playwright'; const LANDSCAPE_VIEWPORT = { width: 667, height: 375 }; (async () => { const browser = await chromium.launch({ headless: true }); const context = await browser.newContext({ viewport: LANDSCAPE_VIEWPORT, userAgent: 'Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36', hasTouch: true }); const page = await context.newPage(); await page.goto('http://localhost:1999/?lang=en&view=extended'); await page.waitForLoadState('networkidle'); const mediaQueries = await page.evaluate(() => { return { viewport: { width: window.innerWidth, height: window.innerHeight, orientation: window.innerWidth > window.innerHeight ? 'landscape' : 'portrait' }, mediaQueries: { 'max-width-768': window.matchMedia('(max-width: 768px)').matches, 'max-width-540': window.matchMedia('(max-width: 540px)').matches, 'landscape': window.matchMedia('(orientation: landscape)').matches, 'landscape-915': window.matchMedia('(max-width: 915px) and (orientation: landscape)').matches, }, hamburgerButton: { visible: document.querySelector('.hamburger-btn') ? window.getComputedStyle(document.querySelector('.hamburger-btn')).display !== 'none' : false, display: document.querySelector('.hamburger-btn') ? window.getComputedStyle(document.querySelector('.hamburger-btn')).display : 'N/A' } }; }); console.log('Media Query Match Test:\n'); console.log('Viewport:'); console.log(` • Size: ${mediaQueries.viewport.width}×${mediaQueries.viewport.height}`); console.log(` • Orientation: ${mediaQueries.viewport.orientation}\n`); console.log('Media Queries:'); console.log(` • (max-width: 768px): ${mediaQueries.mediaQueries['max-width-768'] ? '✅ MATCHES' : '❌ NO MATCH'}`); console.log(` • (max-width: 540px): ${mediaQueries.mediaQueries['max-width-540'] ? '✅ MATCHES' : '❌ NO MATCH'}`); console.log(` • (orientation: landscape): ${mediaQueries.mediaQueries['landscape'] ? '✅ MATCHES' : '❌ NO MATCH'}`); console.log(` • (max-width: 915px) and (orientation: landscape): ${mediaQueries.mediaQueries['landscape-915'] ? '✅ MATCHES' : '❌ NO MATCH'}\n`); console.log('Hamburger Button (should be visible in landscape):'); console.log(` • Visible: ${mediaQueries.hamburgerButton.visible ? '✅' : '❌'}`); console.log(` • Display: ${mediaQueries.hamburgerButton.display}`); await browser.close(); })();