/// import { get_query_params } from "./helper.ts" import { log } from "./logger.ts" import { create_menu } from "./menu.ts"; import { Room } from "./room.ts" export const servers: RTCConfiguration = { iceServers: [{ urls: ["stun:stun1.l.google.com:19302", "stun:stun2.l.google.com:19302"] }], iceCandidatePoolSize: 10, } export interface User { peer: RTCPeerConnection stream: MediaStream, } export const parameters = get_query_params() window.onload = () => main() export function main() { document.body.querySelector("p")?.remove() log("*", "starting up") if (window.location.pathname.startsWith("/room/")) { const room_name = window.location.pathname.substring("/room/".length) const room = new Room(room_name) create_menu(room) document.body.append(room.el) } else { create_menu() document.body.append(create_start_screen()) } } function create_start_screen() { const with_text_content = (a: string) => (b: string) => { const e = document.createElement(a) e.textContent = b return e } const p = with_text_content("p") const h2 = with_text_content("h2") const el = document.createElement("div") el.append( h2("keks-meet"), p("A web conferencing application using webrtc"), p("keks-meet is free software! It is licenced under the terms of the third version of the GNU Affero General Public Licence only."), p("To get started, just enter a unique idenfier, click 'Join', then share the URL with your partner.") ) return el }