Files
desktop/app/providers/InformationProvider/useSearch.ts
rosetta 83f38dc63f 'init'
2026-01-30 05:01:05 +02:00

31 lines
1007 B
TypeScript

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
];
}