diff --git a/js/components/MainWindow/Eject.tsx b/js/components/MainWindow/Eject.tsx index a3c86e77..ce7a59a6 100644 --- a/js/components/MainWindow/Eject.tsx +++ b/js/components/MainWindow/Eject.tsx @@ -1,22 +1,11 @@ import React from "react"; -import { connect } from "react-redux"; import * as Actions from "../../actionCreators"; -import { Dispatch } from "../../types"; +import { useActionCreator } from "../../hooks"; -interface DispatchProps { - openMediaFileDialog(): void; -} - -const Eject = (props: DispatchProps) => ( -
-); - -const mapDispatchToProps = (dispatch: Dispatch): DispatchProps => ({ - openMediaFileDialog: () => dispatch(Actions.openMediaFileDialog()), +const Eject = React.memo(() => { + const openMediaFileDialog = useActionCreator(Actions.openMediaFileDialog); + return ; }); -export default connect( - null, - mapDispatchToProps -)(Eject); +export default Eject; diff --git a/js/components/MainWindow/EqToggleButton.tsx b/js/components/MainWindow/EqToggleButton.tsx index ff94e6b4..0894d0c7 100644 --- a/js/components/MainWindow/EqToggleButton.tsx +++ b/js/components/MainWindow/EqToggleButton.tsx @@ -1,39 +1,25 @@ import React from "react"; -import { connect } from "react-redux"; import classnames from "classnames"; -import { getWindowOpen } from "../../selectors"; -import { toggleWindow } from "../../actionCreators"; -import { AppState } from "../../types"; +import * as Selectors from "../../selectors"; +import * as Actions from "../../actionCreators"; +import { useActionCreator, useTypedSelector } from "../../hooks"; -interface StateProps { - windowOpen: boolean; +function toggleEqualizer() { + return Actions.toggleWindow("equalizer"); } -interface DispatchProps { - handleClick(e: React.MouseEvent