cisco-vpn-rdp-connecter
Version:
Connect to Cisco AnyConnect VPN and open a Microsoft Remote Desktop (RDP) window
31 lines (30 loc) • 1.37 kB
JavaScript
import React, { useState, useEffect } from 'react';
import { useApp } from 'ink';
import { disconnectFromVpn, closeRdpWindow } from '../index.js';
import LoadingMessage from './LoadingMessage.js';
const STEPS = {
RDP: 0,
VPN: 1,
};
export default function Disconnecter() {
const [isDisconnectedFromVpn, setIsDisconnectedFromVpn] = useState(false);
const [hasClosedRdpWindow, setHasClosedRdpWindow] = useState(false);
const [step, setStep] = useState(STEPS.RDP);
const { exit } = useApp();
useEffect(() => {
const disconnectVpnAndCloseRdpWindow = async () => {
// Close the RDP window
await closeRdpWindow();
setHasClosedRdpWindow(true);
setStep(STEPS.VPN);
// Disconnect from VPN
await disconnectFromVpn();
setIsDisconnectedFromVpn(true);
exit();
};
disconnectVpnAndCloseRdpWindow();
}, []);
return (React.createElement(React.Fragment, null,
step >= STEPS.RDP && (React.createElement(LoadingMessage, { isCompleted: hasClosedRdpWindow, loadingMessage: "Closing RDP window", loadedMessage: "Closed RDP window" })),
step >= STEPS.VPN && (React.createElement(LoadingMessage, { isCompleted: isDisconnectedFromVpn, loadingMessage: "Disconnecting from VPN", loadedMessage: "Disconnected from VPN" }))));
}