'init'
This commit is contained in:
31
app/providers/InformationProvider/useSearch.ts
Normal file
31
app/providers/InformationProvider/useSearch.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import { useState } from "react";
|
||||
import { useProtocol } from "../ProtocolProvider/useProtocol";
|
||||
import { PacketSearch, PacketSearchUser } from "../ProtocolProvider/protocol/packets/packet.search";
|
||||
import { usePrivateKeyHash } from "../AccountProvider/usePrivateKeyHash";
|
||||
|
||||
export function useSearch() : [
|
||||
PacketSearchUser[],
|
||||
(username : string) => void,
|
||||
React.Dispatch<React.SetStateAction<PacketSearchUser[]>>
|
||||
] {
|
||||
const {protocol} = useProtocol();
|
||||
const [searchResults, setSearchResults] = useState<PacketSearchUser[]>([]);
|
||||
const privateKeyHash = usePrivateKeyHash();
|
||||
|
||||
protocol.waitPacketOnce(0x03, (packet : PacketSearch) => {
|
||||
setSearchResults(packet.getUsers());
|
||||
});
|
||||
|
||||
const search = (username : string) => {
|
||||
let packet = new PacketSearch();
|
||||
packet.setSearch(username);
|
||||
packet.setPrivateKey(privateKeyHash);
|
||||
protocol.sendPacket(packet);
|
||||
}
|
||||
|
||||
return [
|
||||
searchResults,
|
||||
search,
|
||||
setSearchResults
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user