From 107a4cee1b95c71eed262fdd258b7e5a6afb1ef1 Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Sat, 29 Dec 2018 16:03:07 -0800 Subject: [PATCH] Type Repeat --- .../MainWindow/{Repeat.js => Repeat.tsx} | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) rename js/components/MainWindow/{Repeat.js => Repeat.tsx} (67%) diff --git a/js/components/MainWindow/Repeat.js b/js/components/MainWindow/Repeat.tsx similarity index 67% rename from js/components/MainWindow/Repeat.js rename to js/components/MainWindow/Repeat.tsx index 2812a04c..219d84e1 100644 --- a/js/components/MainWindow/Repeat.js +++ b/js/components/MainWindow/Repeat.tsx @@ -4,8 +4,19 @@ import classnames from "classnames"; import { toggleRepeat } from "../../actionCreators"; import ContextMenuWraper from "../ContextMenuWrapper"; import { Node } from "../ContextMenu"; +import { AppState, Dispatch } from "../../types"; -const Repeat = ({ repeat, handleClick }) => ( +interface StateProps { + repeat: boolean; +} + +interface DispatchProps { + handleClick(): void; +} + +type Props = StateProps & DispatchProps; + +const Repeat = ({ repeat, handleClick }: Props) => ( ( ( ); -const mapStateToProps = state => ({ +const mapStateToProps = (state: AppState): StateProps => ({ repeat: state.media.repeat }); -const mapDispatchToProps = dispatch => ({ +const mapDispatchToProps = (dispatch: Dispatch): DispatchProps => ({ handleClick: () => dispatch(toggleRepeat()) });