mirror of
https://github.com/logos-messaging/examples.waku.org.git
synced 2026-01-04 05:43:07 +00:00
use usePeers from the lib
This commit is contained in:
parent
522ebb93c0
commit
2bd10b2641
12
examples/web-chat/package-lock.json
generated
12
examples/web-chat/package-lock.json
generated
@ -6132,9 +6132,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/serve-static": {
|
"node_modules/@types/serve-static": {
|
||||||
"version": "1.15.0",
|
"version": "1.15.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz",
|
||||||
"integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==",
|
"integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/mime": "*",
|
"@types/mime": "*",
|
||||||
@ -10021,9 +10021,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.4.308",
|
"version": "1.4.309",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.308.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.309.tgz",
|
||||||
"integrity": "sha512-qyTx2aDFjEni4UnRWEME9ubd2Xc9c0zerTUl/ZinvD4QPsF0S7kJTV/Es/lPCTkNX6smyYar+z/n8Cl6pFr8yQ==",
|
"integrity": "sha512-U7DTiKe4h+irqBG6h4EZ0XXaZuJj4md3xIXXaGSYhwiumPZ4BSc6rgf9UD0hVUMaeP/jB0q5pKWCPxvhO8fvZA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/email-addresses": {
|
"node_modules/email-addresses": {
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import type { LightNode } from "@waku/interfaces";
|
import type { LightNode } from "@waku/interfaces";
|
||||||
import ChatList from "./ChatList";
|
import ChatList from "./ChatList";
|
||||||
import MessageInput from "./MessageInput";
|
import MessageInput from "./MessageInput";
|
||||||
import { useWaku, useContentPair, useLightPush } from "@waku/react";
|
import { useWaku, useContentPair, useLightPush, usePeers } from "@waku/react";
|
||||||
import { TitleBar } from "@livechat/ui-kit";
|
import { TitleBar } from "@livechat/ui-kit";
|
||||||
import { Message } from "./Message";
|
import { Message } from "./Message";
|
||||||
import { ChatMessage } from "./chat_message";
|
import { ChatMessage } from "./chat_message";
|
||||||
@ -17,13 +17,9 @@ export default function Room(props: Props) {
|
|||||||
const { node } = useWaku<LightNode>();
|
const { node } = useWaku<LightNode>();
|
||||||
const { encoder } = useContentPair();
|
const { encoder } = useContentPair();
|
||||||
const { push: onPush } = useLightPush({ node, encoder });
|
const { push: onPush } = useLightPush({ node, encoder });
|
||||||
const {
|
|
||||||
lightPushPeers,
|
const { bootstrapPeers, peerExchangePeers } = useNodePeers(node);
|
||||||
filterPeers,
|
const { storePeers, filterPeers, lightPushPeers } = usePeers({ node });
|
||||||
storePeers,
|
|
||||||
bootstrapPeers,
|
|
||||||
peerExchangePeers,
|
|
||||||
} = useNodePeers(node);
|
|
||||||
|
|
||||||
const onSend = async (text: string) => {
|
const onSend = async (text: string) => {
|
||||||
if (!onPush) {
|
if (!onPush) {
|
||||||
@ -52,7 +48,9 @@ export default function Room(props: Props) {
|
|||||||
>
|
>
|
||||||
<TitleBar
|
<TitleBar
|
||||||
leftIcons={[
|
leftIcons={[
|
||||||
`Peers: ${lightPushPeers} light push, ${filterPeers} filter, ${storePeers} store.`,
|
`Peers: ${orZero(lightPushPeers?.length)} light push, ${orZero(
|
||||||
|
filterPeers?.length
|
||||||
|
)} filter, ${orZero(storePeers?.length)} store.`,
|
||||||
]}
|
]}
|
||||||
rightIcons={[
|
rightIcons={[
|
||||||
`Bootstrap (DNS Discovery): ${bootstrapPeers.size}, Peer exchange: ${peerExchangePeers.size}. `,
|
`Bootstrap (DNS Discovery): ${bootstrapPeers.size}, Peer exchange: ${peerExchangePeers.size}. `,
|
||||||
@ -65,3 +63,7 @@ export default function Room(props: Props) {
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function orZero(value: undefined | number): number {
|
||||||
|
return value || 0;
|
||||||
|
}
|
||||||
|
|||||||
@ -39,10 +39,6 @@ export const useMessages = (params: UseMessagesParams): Message[] => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const useNodePeers = (node: undefined | LightNode) => {
|
export const useNodePeers = (node: undefined | LightNode) => {
|
||||||
const [storePeers, setStorePeers] = useState(0);
|
|
||||||
const [filterPeers, setFilterPeers] = useState(0);
|
|
||||||
const [lightPushPeers, setLightPushPeers] = useState(0);
|
|
||||||
|
|
||||||
const [bootstrapPeers, setBootstrapPeers] = useState(new Set<string>());
|
const [bootstrapPeers, setBootstrapPeers] = useState(new Set<string>());
|
||||||
const [peerExchangePeers, setPeerExchangePeers] = useState(new Set<string>());
|
const [peerExchangePeers, setPeerExchangePeers] = useState(new Set<string>());
|
||||||
|
|
||||||
@ -60,15 +56,6 @@ export const useNodePeers = (node: undefined | LightNode) => {
|
|||||||
} else {
|
} else {
|
||||||
setBootstrapPeers((peers) => new Set(peers).add(peerId.toString()));
|
setBootstrapPeers((peers) => new Set(peers).add(peerId.toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
const storePeers = await node.store.peers();
|
|
||||||
setStorePeers(storePeers.length);
|
|
||||||
|
|
||||||
const filterPeers = await node.filter.peers();
|
|
||||||
setFilterPeers(filterPeers.length);
|
|
||||||
|
|
||||||
const lightPushPeers = await node.lightPush.peers();
|
|
||||||
setLightPushPeers(lightPushPeers.length);
|
|
||||||
});
|
});
|
||||||
}, [node]);
|
}, [node]);
|
||||||
|
|
||||||
@ -81,9 +68,6 @@ export const useNodePeers = (node: undefined | LightNode) => {
|
|||||||
}, [bootstrapPeers, peerExchangePeers]);
|
}, [bootstrapPeers, peerExchangePeers]);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
storePeers,
|
|
||||||
filterPeers,
|
|
||||||
lightPushPeers,
|
|
||||||
bootstrapPeers,
|
bootstrapPeers,
|
||||||
peerExchangePeers,
|
peerExchangePeers,
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user