diff options
author | Starfall <us@starfall.systems> | 2023-04-14 19:22:47 -0500 |
---|---|---|
committer | Starfall <us@starfall.systems> | 2023-04-14 19:22:47 -0500 |
commit | 4fe1689de43f4404eb9530fcfbcbfb26d6c1c13a (patch) | |
tree | 6811b845bb7f4966b10dcefa3dea404246f161c7 /app/javascript/mastodon/features/list_editor/components/search.js | |
parent | 65c1e53a32cabcdbb7bca57002bb0f6acdebe07e (diff) | |
parent | bed63f6dae0879ac840066b031229e0d139089cd (diff) |
Diffstat (limited to 'app/javascript/mastodon/features/list_editor/components/search.js')
-rw-r--r-- | app/javascript/mastodon/features/list_editor/components/search.js | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/app/javascript/mastodon/features/list_editor/components/search.js b/app/javascript/mastodon/features/list_editor/components/search.js deleted file mode 100644 index e3f069bb8..000000000 --- a/app/javascript/mastodon/features/list_editor/components/search.js +++ /dev/null @@ -1,76 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { connect } from 'react-redux'; -import { defineMessages, injectIntl } from 'react-intl'; -import { fetchListSuggestions, clearListSuggestions, changeListSuggestions } from '../../../actions/lists'; -import classNames from 'classnames'; -import Icon from 'mastodon/components/icon'; - -const messages = defineMessages({ - search: { id: 'lists.search', defaultMessage: 'Search among people you follow' }, -}); - -const mapStateToProps = state => ({ - value: state.getIn(['listEditor', 'suggestions', 'value']), -}); - -const mapDispatchToProps = dispatch => ({ - onSubmit: value => dispatch(fetchListSuggestions(value)), - onClear: () => dispatch(clearListSuggestions()), - onChange: value => dispatch(changeListSuggestions(value)), -}); - -export default @connect(mapStateToProps, mapDispatchToProps) -@injectIntl -class Search extends React.PureComponent { - - static propTypes = { - intl: PropTypes.object.isRequired, - value: PropTypes.string.isRequired, - onChange: PropTypes.func.isRequired, - onSubmit: PropTypes.func.isRequired, - onClear: PropTypes.func.isRequired, - }; - - handleChange = e => { - this.props.onChange(e.target.value); - } - - handleKeyUp = e => { - if (e.keyCode === 13) { - this.props.onSubmit(this.props.value); - } - } - - handleClear = () => { - this.props.onClear(); - } - - render () { - const { value, intl } = this.props; - const hasValue = value.length > 0; - - return ( - <div className='list-editor__search search'> - <label> - <span style={{ display: 'none' }}>{intl.formatMessage(messages.search)}</span> - - <input - className='search__input' - type='text' - value={value} - onChange={this.handleChange} - onKeyUp={this.handleKeyUp} - placeholder={intl.formatMessage(messages.search)} - /> - </label> - - <div role='button' tabIndex='0' className='search__icon' onClick={this.handleClear}> - <Icon id='search' className={classNames({ active: !hasValue })} /> - <Icon id='times-circle' aria-label={intl.formatMessage(messages.search)} className={classNames({ active: hasValue })} /> - </div> - </div> - ); - } - -} |