49 lines
1.5 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Sender (E2E)</title>
</head>
<body>
<button id="open">Open studio popup</button>
<button id="send">Send token</button>
<pre id="log"></pre>
<script>
function getParam(name) {
try { return new URLSearchParams(window.location.search).get(name); } catch(e) { return null; }
}
const targetOverride = getParam('target');
let popup = null;
document.getElementById('open').addEventListener('click', () => {
// If a target override is provided (production domain), open that URL directly
const urlToOpen = targetOverride ? targetOverride : '/studio.html';
popup = window.open(urlToOpen, 'studioPopup', 'width=800,height=600');
log('opened popup: ' + urlToOpen);
});
document.getElementById('send').addEventListener('click', () => {
if (!popup) return log('no popup');
const payload = { type: 'LIVEKIT_TOKEN', token: 'E2E_TEST_TOKEN', room: 'e2e-room' };
const target = targetOverride || location.origin;
try {
popup.postMessage(payload, target);
log('posted token to target: ' + target);
} catch (err) {
log('postMessage error: ' + String(err));
}
});
window.addEventListener('message', (e) => {
log('received: ' + JSON.stringify(e.data) + ' origin:' + e.origin);
});
function log(msg) {
const p = document.getElementById('log');
p.textContent += msg + '\n';
}
window.__senderReady = true;
</script>
</body>
</html>