about summary refs log tree commit diff
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2019-04-20 17:50:12 +0200
committerThibG <thib@sitedethib.com>2019-04-22 20:15:47 +0200
commitab3e8fc542f53ce9c7a8d1b39ae57bdb60667dac (patch)
tree9bba48373483f7306e92576b4f1a1beb6ee16f14
parentc92ab35b1925647ef8f7f3d6df6a667becc0271c (diff)
Move DrawerSearch to Search + SearchContainer
-rw-r--r--app/javascript/flavours/glitch/features/compose/components/search.js (renamed from app/javascript/flavours/glitch/features/compose/search/index.js)2
-rw-r--r--app/javascript/flavours/glitch/features/compose/containers/search_container.js35
-rw-r--r--app/javascript/flavours/glitch/features/compose/index.js41
-rw-r--r--app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js12
4 files changed, 48 insertions, 42 deletions
diff --git a/app/javascript/flavours/glitch/features/compose/search/index.js b/app/javascript/flavours/glitch/features/compose/components/search.js
index 06b99dcf0..5fed1567a 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 000000000..8f4bfcf08
--- /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 cb261f9d6..83c5d82b0 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) && <DrawerSearch
-            intl={intl}
-            onChange={onChange}
-            onClear={onClear}
-            onShow={onShow}
-            onSubmit={onSubmit}
-            submitted={submitted}
-            value={searchValue}
-          /> }
+        {(multiColumn || isSearchPage) && <SearchContainer /> }
         <div className='drawer__pager'>
           {!isSearchPage && <div className='drawer__inner'>
             <DrawerAccount account={account} />
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 e9c634a50..38e9b63ec 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 }) => (
   <div className='onboarding-modal__page onboarding-modal__page-three'>
     <div className='figure non-interactive'>
-      <DrawerSearch intl={intl} />
+      <Search
+        value=''
+        onChange={noop}
+        onSubmit={noop}
+        onClear={noop}
+        onShow={noop}
+      />
 
       <div className='pseudo-drawer'>
         <DrawerAccount account={myAccount} />