const { chromium } = require('playwright'); (async () => { const browser = await chromium.launch({ headless: false, slowMo: 500 }); const context = await browser.newContext({ viewport: { width: 1920, height: 1080 } }); const page = await context.newPage(); console.log('šŸ“„ Loading English page...\n'); await page.goto('http://localhost:1999/?lang=en'); await page.waitForLoadState('networkidle'); await page.waitForTimeout(2000); console.log('šŸŒ Switching to Spanish (watch for smooth fade transition)...'); await page.click('button[hx-get*="lang=es"]'); await page.waitForTimeout(3000); // Wait to see the transition console.log('āœ… Spanish loaded'); await page.waitForTimeout(1000); console.log('\nšŸŒ Switching back to English (watch for smooth fade transition)...'); await page.click('button[hx-get*="lang=en"]'); await page.waitForTimeout(3000); // Wait to see the transition console.log('āœ… English loaded\n'); await page.waitForTimeout(1000); console.log('šŸ“Š SUMMARY:'); console.log(' - Language transitions now use HTMX CSS transitions'); console.log(' - 200ms fade out (htmx-swapping class)'); console.log(' - 200ms fade in (htmx-settling class)'); console.log(' - Smooth, professional experience! šŸŽ‰\n'); console.log('šŸ’” BENEFITS:'); console.log(' āœ… Eliminates jarring page flash'); console.log(' āœ… Smooth visual continuity'); console.log(' āœ… Professional feel'); console.log(' āœ… No JavaScript needed - pure CSS!'); await page.waitForTimeout(2000); await browser.close(); })();