diff --git a/src/ts/RoomLoader.ts b/src/ts/RoomLoader.ts index 4aef8cc..5a62f5c 100644 --- a/src/ts/RoomLoader.ts +++ b/src/ts/RoomLoader.ts @@ -11,12 +11,15 @@ import { SkipPerformedHandler } from "./spectator/handlers/SkipPerformedHandler" let socket: Socket | null = null; let disconnectTimeout: NodeJS.Timeout | undefined; -export function askRoomID(messagePrefix?: string): void { +export function askRoomID( + messagePrefix?: string, + existingId?: string | null, +): void { const message = (messagePrefix ? `${messagePrefix}\n\n` : "") + "Enter the ID of the multiplayer room that you want to spectate."; - let roomId: string | null = null; + let roomId = existingId ?? null; while (!roomId) { roomId = prompt(message); } diff --git a/src/ts/index.ts b/src/ts/index.ts index 4bb99a1..9510022 100644 --- a/src/ts/index.ts +++ b/src/ts/index.ts @@ -32,5 +32,7 @@ import { openDatabase } from "./settings/DatabaseSettings"; await openDatabase(); - askRoomID(); + const searchParams = new URLSearchParams(location.search); + + askRoomID(undefined, searchParams.get("id")); })().catch(console.error);