@@ -7,6 +7,7 @@ var elements = require("../../gp2/elements.js");
77var accountHelper = require ( "../../accounthelper" ) ;
88var shtml = require ( "../../safehtmlencode.js" ) ;
99var cacheBust = require ( "./cachebust.js" ) ;
10+ var sws = require ( "./sharedwebsocket.js" ) ;
1011
1112function makeUserListDiv ( username , removeFunction , selectFunction ) {
1213 var pfp = accountHelper . getProfilePictureURL ( username ) ;
@@ -359,6 +360,7 @@ class UserListMenu {
359360 }
360361
361362 async removeFromUserList ( username ) {
363+ var dialogBG = this . showLoadingScreen ( ) ;
362364 try {
363365 var r = await fetch (
364366 accountHelper . getServerURL ( ) + "/account/removeuserlist" ,
@@ -372,13 +374,15 @@ class UserListMenu {
372374 if ( ! r . ok ) {
373375 throw new Error ( "" ) ;
374376 }
377+
375378 this . loadUserListMenu ( ) ;
376379 } catch ( e ) {
377380 dialogs . alert (
378381 "Failed to remove user from your known user list, try again later."
379382 ) ;
380383 console . error ( e ) ;
381384 }
385+ dialogBG . remove ( ) ;
382386 }
383387
384388 async addUsername ( username ) {
@@ -430,6 +434,28 @@ class UserListMenu {
430434 } ,
431435 ] ) ;
432436 }
437+
438+ try {
439+ sws . send (
440+ JSON . stringify ( {
441+ type : "onlineList" ,
442+ } )
443+ ) ;
444+ } catch ( e ) { }
445+ }
446+
447+ isUserAdded ( username ) {
448+ var formattedUsername = username . trim ( ) . toLowerCase ( ) ;
449+ var state = accountHelper . getCurrentValidationState ( ) ;
450+ if ( state ) {
451+ if ( formattedUsername == state . username . trim ( ) . toLowerCase ( ) ) {
452+ return true ;
453+ }
454+ }
455+ if ( this . currentUserList ) {
456+ return this . currentUserList . indexOf ( formattedUsername ) > - 1 ;
457+ }
458+ return false ;
433459 }
434460
435461 getUserPrompt ( infoText = "Choose an user" ) {
@@ -530,14 +556,10 @@ class UserListMenu {
530556 overflow : "auto" ,
531557 } ,
532558 children : _this . currentUserList . map ( ( username ) => {
533- return makeUserListDiv (
534- username ,
535- null ,
536- function ( ) {
537- usernameInput . value = username ;
538- usernameInput . scrollIntoView ( ) ;
539- }
540- ) ;
559+ return makeUserListDiv ( username , null , function ( ) {
560+ usernameInput . value = username ;
561+ usernameInput . scrollIntoView ( ) ;
562+ } ) ;
541563 } ) ,
542564 } ,
543565 ] ,
0 commit comments