mirror of https://github.com/jitsi/jitsi-meet
parent
e03126e422
commit
7822831b1e
@ -0,0 +1,75 @@ |
||||
// @flow
|
||||
|
||||
import Tooltip from '@atlaskit/tooltip'; |
||||
import React, { Component } from 'react'; |
||||
import { connect } from 'react-redux'; |
||||
|
||||
import { translate } from '../../base/i18n/index'; |
||||
import { CircularLabel } from '../../base/label/index'; |
||||
|
||||
|
||||
/** |
||||
* The type of the React {@code Component} props of {@link LocalRecordingLabel}. |
||||
*/ |
||||
type Props = { |
||||
|
||||
/** |
||||
* Invoked to obtain translated strings. |
||||
*/ |
||||
t: Function, |
||||
|
||||
/** |
||||
* Whether local recording is engaged or not. |
||||
*/ |
||||
isEngaged: boolean |
||||
}; |
||||
|
||||
/** |
||||
* React Component for displaying a label when local recording is engaged. |
||||
* |
||||
* @extends Component |
||||
*/ |
||||
class LocalRecordingLabel extends Component<Props> { |
||||
|
||||
/** |
||||
* Implements React's {@link Component#render()}. |
||||
* |
||||
* @inheritdoc |
||||
* @returns {ReactElement} |
||||
*/ |
||||
render() { |
||||
if (!this.props.isEngaged) { |
||||
return null; |
||||
} |
||||
|
||||
return ( |
||||
<Tooltip |
||||
content = { this.props.t('localRecording.labelToolTip') } |
||||
position = { 'left' }> |
||||
<CircularLabel |
||||
className = 'local-rec' |
||||
label = { this.props.t('localRecording.label') } /> |
||||
</Tooltip> |
||||
); |
||||
} |
||||
|
||||
} |
||||
|
||||
/** |
||||
* Maps (parts of) the Redux state to the associated props for the |
||||
* {@code LocalRecordingLabel} component. |
||||
* |
||||
* @param {Object} state - The Redux state. |
||||
* @private |
||||
* @returns {{ |
||||
* }} |
||||
*/ |
||||
function _mapStateToProps(state) { |
||||
const { isEngaged } = state['features/local-recording']; |
||||
|
||||
return { |
||||
isEngaged |
||||
}; |
||||
} |
||||
|
||||
export default translate(connect(_mapStateToProps)(LocalRecordingLabel)); |
@ -1,4 +1,5 @@ |
||||
export { default as LocalRecordingButton } from './LocalRecordingButton'; |
||||
export { default as LocalRecordingLabel } from './LocalRecordingLabel'; |
||||
export { |
||||
default as LocalRecordingInfoDialog |
||||
} from './LocalRecordingInfoDialog'; |
||||
|
Loading…
Reference in new issue