From ab3e8fc542f53ce9c7a8d1b39ae57bdb60667dac Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Sat, 20 Apr 2019 17:50:12 +0200 Subject: [PATCH] Move DrawerSearch to Search + SearchContainer --- .../{search/index.js => components/search.js} | 2 +- .../compose/containers/search_container.js | 35 ++++++++++++++++ .../flavours/glitch/features/compose/index.js | 41 +------------------ .../ui/components/onboarding_modal.js | 12 +++++- 4 files changed, 48 insertions(+), 42 deletions(-) rename app/javascript/flavours/glitch/features/compose/{search/index.js => components/search.js} (98%) create mode 100644 app/javascript/flavours/glitch/features/compose/containers/search_container.js diff --git a/app/javascript/flavours/glitch/features/compose/search/index.js b/app/javascript/flavours/glitch/features/compose/components/search.js similarity index 98% rename from app/javascript/flavours/glitch/features/compose/search/index.js rename to app/javascript/flavours/glitch/features/compose/components/search.js index 06b99dcf07..5fed1567ac 100644 --- a/app/javascript/flavours/glitch/features/compose/search/index.js +++ b/app/javascript/flavours/glitch/features/compose/components/search.js @@ -58,7 +58,7 @@ class SearchPopout extends React.PureComponent { // The component. export default @injectIntl -class DrawerSearch extends React.PureComponent { +class Search extends React.PureComponent { static propTypes = { value: PropTypes.string.isRequired, diff --git a/app/javascript/flavours/glitch/features/compose/containers/search_container.js b/app/javascript/flavours/glitch/features/compose/containers/search_container.js new file mode 100644 index 0000000000..8f4bfcf088 --- /dev/null +++ b/app/javascript/flavours/glitch/features/compose/containers/search_container.js @@ -0,0 +1,35 @@ +import { connect } from 'react-redux'; +import { + changeSearch, + clearSearch, + submitSearch, + showSearch, +} from 'flavours/glitch/actions/search'; +import Search from '../components/search'; + +const mapStateToProps = state => ({ + value: state.getIn(['search', 'value']), + submitted: state.getIn(['search', 'submitted']), +}); + +const mapDispatchToProps = dispatch => ({ + + onChange (value) { + dispatch(changeSearch(value)); + }, + + onClear () { + dispatch(clearSearch()); + }, + + onSubmit () { + dispatch(submitSearch()); + }, + + onShow () { + dispatch(showSearch()); + }, + +}); + +export default connect(mapStateToProps, mapDispatchToProps)(Search); diff --git a/app/javascript/flavours/glitch/features/compose/index.js b/app/javascript/flavours/glitch/features/compose/index.js index cb261f9d63..83c5d82b0e 100644 --- a/app/javascript/flavours/glitch/features/compose/index.js +++ b/app/javascript/flavours/glitch/features/compose/index.js @@ -8,12 +8,6 @@ import classNames from 'classnames'; // Actions. import { openModal } from 'flavours/glitch/actions/modal'; -import { - changeSearch, - clearSearch, - showSearch, - submitSearch, -} from 'flavours/glitch/actions/search'; import { cycleElefriendCompose } from 'flavours/glitch/actions/compose'; // Components. @@ -21,7 +15,7 @@ import Composer from 'flavours/glitch/features/composer'; import DrawerAccount from './account'; import DrawerHeader from './header'; import DrawerResults from './results'; -import DrawerSearch from './search'; +import SearchContainer from './containers/search_container'; // Utils. import { me, mascot } from 'flavours/glitch/util/initial_state'; @@ -39,7 +33,6 @@ const mapStateToProps = state => ({ elefriend: state.getIn(['compose', 'elefriend']), results: state.getIn(['search', 'results']), searchHidden: state.getIn(['search', 'hidden']), - searchValue: state.getIn(['search', 'value']), submitted: state.getIn(['search', 'submitted']), unreadNotifications: state.getIn(['notifications', 'unread']), showNotificationsBadge: state.getIn(['local_settings', 'notifications', 'tab_badge']), @@ -47,21 +40,9 @@ const mapStateToProps = state => ({ // Dispatch mapping. const mapDispatchToProps = (dispatch, { intl }) => ({ - onChange (value) { - dispatch(changeSearch(value)); - }, - onClear () { - dispatch(clearSearch()); - }, onClickElefriend () { dispatch(cycleElefriendCompose()); }, - onShow () { - dispatch(showSearch()); - }, - onSubmit () { - dispatch(submitSearch()); - }, onOpenSettings (e) { e.preventDefault(); e.stopPropagation(); @@ -84,17 +65,12 @@ class Compose extends React.PureComponent { results: ImmutablePropTypes.map, elefriend: PropTypes.number, searchHidden: PropTypes.bool, - searchValue: PropTypes.string, submitted: PropTypes.bool, unreadNotifications: PropTypes.number, showNotificationsBadge: PropTypes.bool, // Dispatch props. - onChange: PropTypes.func, - onClear: PropTypes.func, onClickElefriend: PropTypes.func, - onShow: PropTypes.func, - onSubmit: PropTypes.func, onOpenSettings: PropTypes.func, }; @@ -106,15 +82,10 @@ class Compose extends React.PureComponent { elefriend, intl, multiColumn, - onChange, - onClear, onClickElefriend, onOpenSettings, - onShow, - onSubmit, results, searchHidden, - searchValue, submitted, isSearchPage, unreadNotifications, @@ -134,15 +105,7 @@ class Compose extends React.PureComponent { onSettingsClick={onOpenSettings} /> )} - {(multiColumn || isSearchPage) && } + {(multiColumn || isSearchPage) && }
{!isSearchPage &&
diff --git a/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js b/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js index e9c634a505..38e9b63ece 100644 --- a/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js +++ b/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js @@ -8,10 +8,12 @@ import classNames from 'classnames'; import Permalink from 'flavours/glitch/components/permalink'; import { WrappedComponent as RawComposer } from 'flavours/glitch/features/composer'; import DrawerAccount from 'flavours/glitch/features/compose/account'; -import DrawerSearch from 'flavours/glitch/features/compose/search'; +import Search from 'flavours/glitch/features/compose/components/search'; import ColumnHeader from './column_header'; import { me } from 'flavours/glitch/util/initial_state'; +const noop = () => { }; + const messages = defineMessages({ home_title: { id: 'column.home', defaultMessage: 'Home' }, notifications_title: { id: 'column.notifications', defaultMessage: 'Notifications' }, @@ -63,7 +65,13 @@ PageTwo.propTypes = { const PageThree = ({ intl, myAccount }) => (
- +