]> cat aescling's git repositories - mastodon.git/commitdiff
Move DrawerSearch to Search + SearchContainer
authorThibaut Girka <thib@sitedethib.com>
Sat, 20 Apr 2019 15:50:12 +0000 (17:50 +0200)
committerThibG <thib@sitedethib.com>
Mon, 22 Apr 2019 18:15:47 +0000 (20:15 +0200)
app/javascript/flavours/glitch/features/compose/components/search.js [moved from app/javascript/flavours/glitch/features/compose/search/index.js with 98% similarity]
app/javascript/flavours/glitch/features/compose/containers/search_container.js [new file with mode: 0644]
app/javascript/flavours/glitch/features/compose/index.js
app/javascript/flavours/glitch/features/ui/components/onboarding_modal.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 06b99dcf0773892af8f3646db57b20e07eb1c395..5fed1567accb01edf9799dc1f65367c17a4e7893 100644 (file)
@@ -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 (file)
index 0000000..8f4bfcf
--- /dev/null
@@ -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);
index cb261f9d63b9a8b92c2e4b987163201a5a575125..83c5d82b0eed1319c9c87810a4122cd1224851fd 100644 (file)
@@ -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} />
index e9c634a505d5125d08adcef4d6675e33a6a78dcd..38e9b63ece6029cbf46d2a35d77fcaed919a1078 100644 (file)
@@ -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} />