2024-12-09 00:56:55 -06:00
|
|
|
|
|
|
|
import QRCode from 'modules/qrcode';
|
2024-12-17 00:10:12 -06:00
|
|
|
import { onQRCodeRendered } from 'src/main/Renderer';
|
2024-12-09 00:56:55 -06:00
|
|
|
|
|
|
|
window.targetAPI.onDeviceInfo(renderIPsAndQRCode);
|
|
|
|
|
|
|
|
if(window.targetAPI.getDeviceInfo()) {
|
|
|
|
console.log("device info already present");
|
|
|
|
renderIPsAndQRCode();
|
|
|
|
}
|
|
|
|
|
|
|
|
function renderIPsAndQRCode() {
|
|
|
|
const value = window.targetAPI.getDeviceInfo();
|
|
|
|
console.log("device info", value);
|
|
|
|
|
|
|
|
const ipsElement = document.getElementById('ips');
|
|
|
|
if (ipsElement) {
|
|
|
|
ipsElement.innerHTML = `IPs<br>${value.addresses.join('<br>')}`;
|
|
|
|
}
|
|
|
|
|
|
|
|
const fcastConfig = {
|
|
|
|
name: value.name,
|
|
|
|
addresses: value.addresses,
|
|
|
|
services: [
|
|
|
|
{ port: 46899, type: 0 }, //TCP
|
|
|
|
{ port: 46898, type: 1 }, //WS
|
|
|
|
]
|
|
|
|
};
|
|
|
|
|
|
|
|
const json = JSON.stringify(fcastConfig);
|
|
|
|
let base64 = btoa(json);
|
|
|
|
base64 = base64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
|
|
const url = `fcast://r/${base64}`;
|
|
|
|
console.log("qr", {json, url, base64});
|
|
|
|
|
|
|
|
const qrCodeElement = document.getElementById('qr-code');
|
|
|
|
QRCode.toCanvas(qrCodeElement, url, {
|
|
|
|
margin: 0,
|
|
|
|
width: 256,
|
|
|
|
color: {
|
|
|
|
dark : "#000000",
|
|
|
|
light : "#ffffff",
|
|
|
|
},
|
|
|
|
errorCorrectionLevel : "M",
|
|
|
|
},
|
2024-12-17 22:59:41 -06:00
|
|
|
(err) => {
|
|
|
|
if (err) {
|
|
|
|
console.error(`Error rendering QR Code: ${err}`);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
console.log(`Rendered QR Code`);
|
|
|
|
}
|
2024-12-09 00:56:55 -06:00
|
|
|
});
|
2024-12-17 00:10:12 -06:00
|
|
|
|
|
|
|
onQRCodeRendered();
|
2024-12-09 00:56:55 -06:00
|
|
|
}
|