/* eslint-disable react/destructuring-assignment */ import React, { useContext } from 'react'; import { Button } from '@blueprintjs/core'; import { Col } from 'react-flexbox-grid'; import DEVICES from '../../constants/test-devices.json'; import ScanQRStep from './ScanQRStep'; import ChooseAppOrScreeenStep from './ChooseAppOrScreeenStep'; import ConfirmStep from './ConfirmStep'; import { ConnectedDevicesContext } from '../../containers/ConnectedDevicesProvider'; interface IntermediateStepProps { activeStep: number; steps: string[]; handleNext: () => void; handleBack: () => void; handleNextEntireScreen: () => void; handleNextApplicationWindow: () => void; resetPendingConnectionDevice: () => void; resetUserAllowedConnection: () => void; } function getStepContent( stepIndex: number, handleNextEntireScreen: () => void, handleNextApplicationWindow: () => void, pendingConnectionDevice: Device | null ) { switch (stepIndex) { case 0: return ; case 1: return ( ); case 2: return ; default: return 'Unknown stepIndex'; } } function isConfirmStep(activeStep: number, steps: string[]) { return activeStep === steps.length - 1; } export default function IntermediateStep(props: IntermediateStepProps) { const { devices, setPendingConnectionDeviceHook, setDevicesHook, pendingConnectionDevice, resetPendingConnectionDeviceHook, } = useContext(ConnectedDevicesContext); const connectDevice = (device: Device) => { setPendingConnectionDeviceHook(device); }; return ( {getStepContent( props.activeStep, props.handleNextEntireScreen, props.handleNextApplicationWindow, pendingConnectionDevice )} { /* TODO: (REMOVE: process.env.NODE_ENV === 'production') !!!!!!!!!) Connect Test Device button, displayed only when RUN_MODE is 'dev' or 'test' */ props.activeStep === 0 && (process.env.RUN_MODE === 'dev' || process.env.RUN_MODE === 'test' || process.env.NODE_ENV === 'production') ? ( // eslint-disable-next-line react/jsx-indent ) : ( <> ) } { /**/ props.activeStep !== 0 ? ( ) : ( <> ) }