import cs from 'classnames' import { action } from 'mobx' import { observer } from 'mobx-react' import React from 'react' // @ts-ignore import Tooltip from '@cypress/react-tooltip' import defaultEvents, { Events } from '../lib/events' import { AppState } from '../lib/app-state' const ifThen = (condition: boolean, component: React.ReactNode) => ( condition ? component : null ) interface Props { events?: Events appState: AppState } const Controls = observer(({ events = defaultEvents, appState }: Props) => { const emit = (event: string) => () => events.emit(event) const toggleAutoScrolling = () => { appState.toggleAutoScrolling() events.emit('save:state') } return (
{ifThen(appState.isPaused, ( ))} {ifThen(appState.isPaused, ( Resume C

} className='cy-tooltip'>
))} {ifThen(!appState.isPaused, ( {appState.autoScrollingEnabled ? 'Disable' : 'Enable'} Auto-scrolling A

} className='cy-tooltip'>
))} {ifThen(appState.isRunning && !appState.isPaused, ( Stop Running S

} className='cy-tooltip' visible={appState.studioActive ? false : null}>
))} {ifThen(!appState.isRunning, ( Run All Tests R

} className='cy-tooltip'>
))} {ifThen(!!appState.nextCommandName, ( Next [N]:{appState.nextCommandName}

} className='cy-tooltip'>
))}
) }) export default Controls