import React from "react"; import { connect } from "react-redux"; import { TimeMode, AppState, Dispatch } from "../../types"; import { getTimeObj } from "../../utils"; import * as Actions from "../../actionCreators"; import { TIME_MODE } from "../../constants"; interface StateProps { timeElapsed: number; length: number; timeMode: TimeMode; } interface DispatchProps { toggleTimeMode(): void; } const Time = ({ timeElapsed, length, timeMode, toggleTimeMode }: StateProps & DispatchProps) => { const seconds = timeMode === TIME_MODE.ELAPSED ? timeElapsed : length - timeElapsed; const timeObj = getTimeObj(seconds); return (
{timeMode === TIME_MODE.REMAINING &&
}
); }; const mapStateToProps = (state: AppState): StateProps => { const { timeElapsed, length, timeMode } = state.media; return { timeElapsed, length: length || 0, timeMode }; }; const mapDispatchToProps = (dispatch: Dispatch): DispatchProps => ({ toggleTimeMode: () => dispatch(Actions.toggleTimeMode()) }); export default connect( mapStateToProps, mapDispatchToProps )(Time);