peertube-plugin-livechat/conversejs/lib/nick.ts

42 lines
1.0 KiB
TypeScript
Raw Normal View History

/**
* Generates a random nickname.
* @param base Nickname prefix
* @returns A nickname like "Given Base 12345"
*/
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()
}
/**
* 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)
}
}
export {
randomNick,
getPreviousAnonymousNick,
setPreviousAnonymousNick
}