2019-04-30 00:55:10 +00:00
/// <reference path="Permissions.ts" />
2018-11-15 22:53:52 +00:00
interface CurrentUserInfo {
user_id : number ;
username : string ;
user_background_settings : number ;
user_colour : number ;
2019-04-30 00:55:10 +00:00
perms : Permissions ;
2018-11-15 22:53:52 +00:00
}
let userInfo : CurrentUserInfo ;
2019-06-10 17:04:53 +00:00
function getRawCurrentUserInfo ( ) : CurrentUserInfo {
2018-11-15 22:53:52 +00:00
const userInfoElement : HTMLDivElement = document . getElementById ( 'js-user-info' ) as HTMLDivElement ;
2019-06-10 17:04:53 +00:00
if ( ! userInfoElement )
2018-11-15 22:53:52 +00:00
return null ;
return JSON . parse ( userInfoElement . textContent ) as CurrentUserInfo ;
}
2019-06-10 17:04:53 +00:00
function refreshCurrentUserInfo ( ) : void {
2018-11-15 22:53:52 +00:00
userInfo = getRawCurrentUserInfo ( ) ;
}
2019-06-10 17:04:53 +00:00
function getCurrentUser ( attribute : string = null ) {
if ( attribute ) {
if ( ! userInfo ) {
2018-11-15 22:53:52 +00:00
return '' ;
}
return userInfo [ attribute ] || '' ;
}
return userInfo || null ;
}
2019-06-10 17:04:53 +00:00
function userInit ( ) : void {
2018-11-15 22:53:52 +00:00
refreshCurrentUserInfo ( ) ;
2018-12-11 00:35:33 +00:00
console . log ( ` You are ${ getCurrentUser ( 'username' ) } with user id ${ getCurrentUser ( 'user_id' ) } and colour ${ colourGetCSS ( getCurrentUser ( 'user_colour' ) ) } . ` ) ;
2018-11-15 22:53:52 +00:00
}