UNPKG

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
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" })))); }