import { getBooleanParamFlag, getStringParamFlag } from './getParamFlag'; | |
import { URLParamsObject } from './types/URLParamsTypes'; | |
/** | |
* These are the URL parameters you can provide to the app to change its behavior. | |
* | |
* Boolean flags can be set by just providing the flag name (`?autoJoin`), or by | |
* explicitly setting it to 1 (true) or 0 (false): `?autoJoin=1` or `?autoJoin=0` | |
* | |
* String flags require an explicit value: `?roomID=ABCD` | |
* | |
* Examples: | |
* | |
* - `http://localhost:5173/?roomID=BBCD&autoJoin&debug` | |
* - `http://localhost:5173/?serverURL=localhost:8000` | |
* @returns | |
*/ | |
export function getURLParams(): URLParamsObject { | |
return { | |
// animate the translation text when it arrives, typing it out one letter at a time | |
animateTextDisplay: getBooleanParamFlag('animateTextDisplay', true), // default to true; | |
// automatically join the room when the app loads. requires roomID to be set via url param as well | |
autoJoin: getBooleanParamFlag('autoJoin', false), | |
// automatically check the server debug flag as true | |
debug: getBooleanParamFlag('debug', false), | |
// Enable UI on the client that allows locking out other users of the server when it's being used for high profile demos | |
// NOTE: There is an escape hatch for disabling a server lock by setting the name field to remove_server_lock | |
enableServerLock: getBooleanParamFlag('enableServerLock', false), | |
// Pre-populate the Room Code field with the provided roomID. Can be used in conjunction with autoJoin to jump straight into the room | |
roomID: getStringParamFlag('roomID'), | |
// Use an alternate server URL as the streaming server (useful for pointing to dev servers: http://localhost:5173/?serverURL=localhost:8000) | |
serverURL: getStringParamFlag('serverURL'), | |
// Skip the popup dialog that displays within VR, which is mostly redundant with the web based dialog | |
skipARIntro: getBooleanParamFlag('skipARIntro', true), // default to true | |
// Shows the translation text in AR in front of an opaque panel covering all the text area | |
// single_block = original single text block with background | |
// lines = each line is a separate block and animates | |
// lines_with_background = adds a panel behind lines | |
ARTranscriptionType: getStringParamFlag('ARTranscriptionType') || 'lines', | |
}; | |
} | |