new system information provider
This commit is contained in:
@@ -4,8 +4,8 @@ import { usePublicKey } from "../AccountProvider/usePublicKey";
|
||||
import { usePrivateKeyHash } from "../AccountProvider/usePrivateKeyHash";
|
||||
import { useLogger } from "@/app/hooks/useLogger";
|
||||
import { useMemory } from "../MemoryProvider/useMemory";
|
||||
import { useDeviceId } from "../DeviceProvider/useDeviceId";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import { useSystemInformation } from "../SystemProvider/useSystemInformation";
|
||||
|
||||
export enum ProtocolState {
|
||||
CONNECTED,
|
||||
@@ -27,21 +27,22 @@ export function ProtocolProvider(props : ProtocolProviderProps) {
|
||||
const privateKey = usePrivateKeyHash();
|
||||
const protocol = useMemo(() => {
|
||||
return new Protocol(props.serverAddress)
|
||||
}, [props.serverAddress, publicKey, privateKey]);
|
||||
}, [props.serverAddress]);
|
||||
const log = useLogger('ProtocolProvider');
|
||||
const [connect, setConnect] = useState(ProtocolState.DISCONNECTED);
|
||||
const [_, setOnlineSubscribes] = useMemory<string[]>("online_subscribes", [], true);
|
||||
const deviceId = useDeviceId();
|
||||
const systemInfo = useSystemInformation();
|
||||
const navigate = useNavigate();
|
||||
|
||||
useEffect(() => {
|
||||
if(publicKey.trim() == ""
|
||||
|| privateKey.trim() == "" || deviceId == "") {
|
||||
|| privateKey.trim() == "" || systemInfo.id == "") {
|
||||
return;
|
||||
}
|
||||
const device = {
|
||||
deviceId: deviceId,
|
||||
deviceName: window.deviceName || "Unknown Device"
|
||||
deviceId: systemInfo.id,
|
||||
deviceName: systemInfo.name,
|
||||
deviceOs: systemInfo.os
|
||||
}
|
||||
protocol.startHandshakeExchange(publicKey, privateKey, device);
|
||||
protocol.on('connect', () => {
|
||||
@@ -69,7 +70,7 @@ export function ProtocolProvider(props : ProtocolProviderProps) {
|
||||
setConnect(ProtocolState.DEVICE_VERIFICATION_REQUIRED);
|
||||
navigate('/deviceconfirm');
|
||||
});
|
||||
}, [publicKey, privateKey, deviceId]);
|
||||
}, [publicKey, privateKey, systemInfo.id]);
|
||||
|
||||
return (
|
||||
<ProtocolContext.Provider value={[protocol, connect]}>
|
||||
|
||||
Reference in New Issue
Block a user