diff --git a/src/chrome/LocationsButton.js b/src/chrome/LocationsButton.tsx similarity index 67% rename from src/chrome/LocationsButton.js rename to src/chrome/LocationsButton.tsx index 22fb05594..f9df175fc 100644 --- a/src/chrome/LocationsButton.js +++ b/src/chrome/LocationsButton.tsx @@ -5,25 +5,29 @@ * @format */ -import {Button, Component, styled} from 'flipper'; +import {Button, styled} from 'flipper'; import {connect} from 'react-redux'; +import React, {Component} from 'react'; +import {State} from '../reducers'; -import type BaseDevice from '../devices/BaseDevice.tsx'; +import BaseDevice from '../devices/BaseDevice'; -type OwnProps = {| - locations: Array, - selectedLocation?: string, -|}; +type OwnProps = { + locations: Array; + selectedLocation?: string; +}; -type Props = {| - ...OwnProps, - selectedDevice?: BaseDevice, -|}; +type StateFromProps = { + selectedDevice: BaseDevice | null | undefined; +}; + +type DispatchFromProps = {}; const DropdownButton = styled(Button)({ fontSize: 11, }); +type Props = OwnProps & StateFromProps & DispatchFromProps; class LocationsButton extends Component { goToLocation = (location: string) => { const {selectedDevice} = this.props; @@ -51,7 +55,7 @@ class LocationsButton extends Component { } } -export default connect( +export default connect( ({connections: {selectedDevice}}) => ({ selectedDevice, }),