vcs-controller/ui/static/index.js
2024-09-21 03:43:04 +00:00

46 lines
1.3 KiB
JavaScript

import { invoke, event } from "./node_modules/@tauri-apps/api/index.js";
import { setup_listeners } from "./async_listeners.js";
import { rtc_init } from "./rtc.js";
function call_camera_connect() {
invoke("connect_to_camera", {})
.then(() => {
let cam_button = document.getElementById("camera_connect_button");
cam_button.innerText = "Connecting to Camera";
cam_button.classList.remove("text-semibold");
cam_button.classList.remove("text-white");
cam_button.classList.add("text-neutral-400")
})
.catch((e) => console.error(e));
}
function supports_webrtc() {
var isWebRTCSupported = false;
['RTCPeerConnection', 'webkitRTCPeerConnection', 'mozRTCPeerConnection', 'RTCIceGatherer'].forEach(function(item) {
if (isWebRTCSupported) {
return;
}
if (item in window) {
isWebRTCSupported = true;
}
});
return isWebRTCSupported;
}
async function init() {
console.log("Setting up");
document.getElementById("camera_connect_button").addEventListener("click", call_camera_connect);
await setup_listeners();
let webrtc_support = supports_webrtc();
invoke("supports_webrtc", { has_support: webrtc_support });
if (webrtc_support) {
await rtc_init();
}
}
export { init };