#!/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'); // Take a screenshot to see what's visible await page.screenshot({ path: 'tests/screenshots/sidebar-debug-landscape.png', fullPage: true }); const details = await page.evaluate(() => { const sidebar = document.querySelector('.cv-sidebar-left'); const accordion = document.querySelector('.sidebar-accordion'); // Get all children of sidebar const sidebarChildren = Array.from(sidebar.children).map(child => ({ tag: child.tagName, class: child.className, height: Math.round(child.getBoundingClientRect().height), display: window.getComputedStyle(child).display, position: window.getComputedStyle(child).position })); // Get all children of accordion const accordionChildren = Array.from(accordion.children).map(child => ({ tag: child.tagName, class: child.className, height: Math.round(child.getBoundingClientRect().height), display: window.getComputedStyle(child).display })); // Check if there's a min-height or explicit height const sidebarStyles = window.getComputedStyle(sidebar); return { sidebarChildren, accordionChildren, sidebarStyles: { height: sidebarStyles.height, minHeight: sidebarStyles.minHeight, maxHeight: sidebarStyles.maxHeight, boxSizing: sidebarStyles.boxSizing, padding: sidebarStyles.padding, } }; }); console.log('Sidebar Children:'); details.sidebarChildren.forEach((child, i) => { console.log(` ${i + 1}. <${child.tag}> .${child.class}`); console.log(` Height: ${child.height}px, Display: ${child.display}, Position: ${child.position}`); }); console.log('\nAccordion Children:'); details.accordionChildren.forEach((child, i) => { console.log(` ${i + 1}. <${child.tag}> .${child.class}`); console.log(` Height: ${child.height}px, Display: ${child.display}`); }); console.log('\nSidebar Computed Styles:'); console.log(` • height: ${details.sidebarStyles.height}`); console.log(` • min-height: ${details.sidebarStyles.minHeight}`); console.log(` • max-height: ${details.sidebarStyles.maxHeight}`); console.log(` • box-sizing: ${details.sidebarStyles.boxSizing}`); console.log(` • padding: ${details.sidebarStyles.padding}`); console.log('\nScreenshot saved to: tests/screenshots/sidebar-debug-landscape.png'); await browser.close(); })();