Files
karim ebc33a78b7 Initial commit: X-Plane G1000 web cockpit + bridge + Tauri desktop app
- server/: Node bridge (datarefs/commands, navdata, CIFP procedures, flight plan)
- web/: React cockpit (PFD/MFD/Map, VFR six-pack, AFCS, FMS CDU), PWA, collapsible sidebar
- desktop/: Tauri 2 launcher (Bun sidecar, system tray, updater) + Linux build via Docker
- scripts/: prep-desktop, build-linux, Gitea release + latest.json

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 15:07:03 +02:00

16 lines
811 B
JavaScript

import { chromium } from 'playwright';
const b = await chromium.launch();
const p = await b.newPage({ viewport: { width: 1180, height: 820 } });
const errs = [];
p.on('pageerror', e => errs.push('PAGEERR: ' + e.message));
p.on('console', m => { if (m.type() === 'error') errs.push('CONSOLE: ' + m.text()); });
await p.goto('http://localhost:8099', { waitUntil: 'networkidle' });
await p.getByRole('button', { name: 'MFD', exact: true }).click();
await p.waitForTimeout(1500);
const apKeys = await p.$$eval('.ap-key', els => els.map(e => e.textContent));
const title = await p.$eval('.bezel-title', e => e.textContent).catch(() => null);
console.log('AP keys on MFD:', JSON.stringify(apKeys));
console.log('Bezel title:', title);
console.log('Errors:', errs.length ? errs.join(' | ') : 'NONE');
await b.close();