add topic peer count to header

This commit is contained in:
Martti Malmi 2021-09-30 15:36:19 +03:00
parent 2d1f72b71f
commit 51cf6b60b7

View File

@ -20,7 +20,7 @@ import _ from "lodash";
class Header extends Component {
constructor() {
super();
this.state = {latest: {}};
this.state = {latest: {}, topicPeerCount: 0};
this.chatId = null;
this.escFunction = this.escFunction.bind(this);
}
@ -116,6 +116,7 @@ class Header extends Component {
return peer && peer.wire && peer.wire.hied === 'hi' && peer.wire.constructor.name === 'WebSocket';
});
this.setState({connectedPeers});
State.ipfs.pubsub.peers('gundb').then(peers => this.setState({topicPeerCount: peers.length}));
}
render() {
@ -130,6 +131,8 @@ class Header extends Component {
`;
const chatting = (activeRoute && activeRoute.indexOf('/chat/') === 0);
const peerCount = (this.state.connectedPeers ? this.state.connectedPeers.length : 0) + this.state.topicPeerCount;
return html`
<header class="nav header">
${activeRoute && activeRoute.indexOf('/chat/') === 0 ? html`
@ -155,11 +158,11 @@ class Header extends Component {
<span class="visible-xs-inline-block">${Icons.backArrow}</span>
</a>
`}
<a href="/settings" class="connected-peers tooltip ${this.state.showMobileSearch ? 'hidden-xs' : ''} ${this.state.connectedPeers && this.state.connectedPeers.length ? 'connected' : ''}">
<a href="/settings" class="connected-peers tooltip ${this.state.showMobileSearch ? 'hidden-xs' : ''} ${peerCount ? 'connected' : ''}">
<span class="tooltiptext">${t('connected_peers')}</span>
<small>
<span class="icon">${Icons.network}</span>
<span>${this.state.connectedPeers ? this.state.connectedPeers.length : ''}</span>
<span>${peerCount}</span>
</small>
</a>
<div class="text" style=${this.chatId ? 'cursor:pointer;text-align:center' : ''} onClick=${() => this.onTitleClicked()}>