2024-01-09 11:54:30 +00:00
|
|
|
/**
|
|
|
|
* Generates a random nickname.
|
|
|
|
* @param base Nickname prefix
|
|
|
|
* @returns A nickname like "Given Base 12345"
|
|
|
|
*/
|
2023-05-04 17:14:23 +00:00
|
|
|
function randomNick (base: string): string {
|
|
|
|
// using a 6 digit random number to generate a nickname with low colision risk
|
|
|
|
const n = 100000 + Math.floor(Math.random() * 900000)
|
|
|
|
return base + ' ' + n.toString()
|
|
|
|
}
|
|
|
|
|
2024-01-09 11:54:30 +00:00
|
|
|
/**
|
|
|
|
* Get the previous anonymous nickname (stored in sessionStorage).
|
|
|
|
* @returns previous nickname or null
|
|
|
|
*/
|
|
|
|
function getPreviousAnonymousNick (): string | null {
|
|
|
|
try {
|
|
|
|
return sessionStorage.getItem('livechat-previous-anonymous-nickname')
|
|
|
|
} catch (err) {
|
|
|
|
console.error(err)
|
|
|
|
return null
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Stores the chosen nickname in sessionStorage.
|
|
|
|
*/
|
|
|
|
function setPreviousAnonymousNick (nick: string): void {
|
|
|
|
try {
|
|
|
|
console.log('Storing anonymous nickname', nick)
|
|
|
|
sessionStorage.setItem('livechat-previous-anonymous-nickname', nick)
|
|
|
|
} catch (err) {
|
|
|
|
console.error(err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-05-04 17:14:23 +00:00
|
|
|
export {
|
2024-01-09 11:54:30 +00:00
|
|
|
randomNick,
|
|
|
|
getPreviousAnonymousNick,
|
|
|
|
setPreviousAnonymousNick
|
2023-05-04 17:14:23 +00:00
|
|
|
}
|