diff options
author | bobzel <zzzman@gmail.com> | 2024-09-02 09:26:37 -0400 |
---|---|---|
committer | bobzel <zzzman@gmail.com> | 2024-09-02 09:26:37 -0400 |
commit | cda69e48361fce8d71a4dc66edd9dd976a27f52d (patch) | |
tree | 82b9a1a5967ae88a9534f89f7eaed3aeb289652f /src/client/util/ServerStats.tsx | |
parent | c01828308714874589d1f60c33ca59df4c656c0c (diff) | |
parent | a958577d4c27b276aa37484e3f895e196138b17c (diff) |
Merge branch 'master' into alyssa-starter
Diffstat (limited to 'src/client/util/ServerStats.tsx')
-rw-r--r-- | src/client/util/ServerStats.tsx | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/client/util/ServerStats.tsx b/src/client/util/ServerStats.tsx index 57363663d..11db5ee5e 100644 --- a/src/client/util/ServerStats.tsx +++ b/src/client/util/ServerStats.tsx @@ -6,18 +6,29 @@ import './SharingManager.scss'; import { PingManager } from './PingManager'; import { SettingsManager } from './SettingsManager'; +/** + * NOTE: this must be kept in synch with UserStats definition in server's DashStats.ts file + * UserStats holds the stats associated with a particular user. + */ +interface UserStats { + socketId: string; + username: string; + time: string; + operations: number; + rate: number; +} @observer -export class ServerStats extends React.Component<{}> { +export class ServerStats extends React.Component<object> { // eslint-disable-next-line no-use-before-define public static Instance: ServerStats; @observable private isOpen = false; // whether the SharingManager modal is open or not - @observable _stats: { [key: string]: any } | undefined = undefined; + @observable _stats: { socketMap: UserStats[]; currentConnections: number } | undefined = undefined; // private get linkVisible() { // return this.targetDoc ? this.targetDoc['acl_' + PublicKey] !== SharingPermissions.None : false; // } - constructor(props: {}) { + constructor(props: object) { super(props); makeObservable(this); ServerStats.Instance = this; @@ -41,7 +52,7 @@ export class ServerStats extends React.Component<{}> { <br /> <span>Active users:{this._stats?.socketMap.length}</span> - {this._stats?.socketMap.map((user: any) => <p>{user.username}</p>)} + {this._stats?.socketMap.map(user => <p key={user.username}>{user.username}</p>)} </div> </div> ); |