[Glitch] Add message telling FTS is disabled when no toot can be found because of this
Port ca8944728f4568bbef8edae99382cd44cbc144d6 to glitch-soc
This commit is contained in:
		
							parent
							
								
									c8ba75b963
								
							
						
					
					
						commit
						43698e08ca
					
				@ -48,7 +48,7 @@ export function submitSearch() {
 | 
				
			|||||||
        dispatch(importFetchedStatuses(response.data.statuses));
 | 
					        dispatch(importFetchedStatuses(response.data.statuses));
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      dispatch(fetchSearchSuccess(response.data));
 | 
					      dispatch(fetchSearchSuccess(response.data, value));
 | 
				
			||||||
      dispatch(fetchRelationships(response.data.accounts.map(item => item.id)));
 | 
					      dispatch(fetchRelationships(response.data.accounts.map(item => item.id)));
 | 
				
			||||||
    }).catch(error => {
 | 
					    }).catch(error => {
 | 
				
			||||||
      dispatch(fetchSearchFail(error));
 | 
					      dispatch(fetchSearchFail(error));
 | 
				
			||||||
@ -62,12 +62,11 @@ export function fetchSearchRequest() {
 | 
				
			|||||||
  };
 | 
					  };
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function fetchSearchSuccess(results) {
 | 
					export function fetchSearchSuccess(results, searchTerm) {
 | 
				
			||||||
  return {
 | 
					  return {
 | 
				
			||||||
    type: SEARCH_FETCH_SUCCESS,
 | 
					    type: SEARCH_FETCH_SUCCESS,
 | 
				
			||||||
    results,
 | 
					    results,
 | 
				
			||||||
    accounts: results.accounts,
 | 
					    searchTerm,
 | 
				
			||||||
    statuses: results.statuses,
 | 
					 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -7,6 +7,7 @@ import StatusContainer from 'flavours/glitch/containers/status_container';
 | 
				
			|||||||
import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
					import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
				
			||||||
import Hashtag from 'flavours/glitch/components/hashtag';
 | 
					import Hashtag from 'flavours/glitch/components/hashtag';
 | 
				
			||||||
import Icon from 'flavours/glitch/components/icon';
 | 
					import Icon from 'flavours/glitch/components/icon';
 | 
				
			||||||
 | 
					import { searchEnabled } from 'flavours/glitch/util/initial_state';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const messages = defineMessages({
 | 
					const messages = defineMessages({
 | 
				
			||||||
  dismissSuggestion: { id: 'suggestions.dismiss', defaultMessage: 'Dismiss suggestion' },
 | 
					  dismissSuggestion: { id: 'suggestions.dismiss', defaultMessage: 'Dismiss suggestion' },
 | 
				
			||||||
@ -20,6 +21,7 @@ class SearchResults extends ImmutablePureComponent {
 | 
				
			|||||||
    suggestions: ImmutablePropTypes.list.isRequired,
 | 
					    suggestions: ImmutablePropTypes.list.isRequired,
 | 
				
			||||||
    fetchSuggestions: PropTypes.func.isRequired,
 | 
					    fetchSuggestions: PropTypes.func.isRequired,
 | 
				
			||||||
    dismissSuggestion: PropTypes.func.isRequired,
 | 
					    dismissSuggestion: PropTypes.func.isRequired,
 | 
				
			||||||
 | 
					    searchTerm: PropTypes.string,
 | 
				
			||||||
    intl: PropTypes.object.isRequired,
 | 
					    intl: PropTypes.object.isRequired,
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -28,7 +30,7 @@ class SearchResults extends ImmutablePureComponent {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  render () {
 | 
					  render () {
 | 
				
			||||||
    const { intl, results, suggestions, dismissSuggestion } = this.props;
 | 
					    const { intl, results, suggestions, dismissSuggestion, searchTerm } = this.props;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (results.isEmpty() && !suggestions.isEmpty()) {
 | 
					    if (results.isEmpty() && !suggestions.isEmpty()) {
 | 
				
			||||||
      return (
 | 
					      return (
 | 
				
			||||||
@ -51,6 +53,16 @@ class SearchResults extends ImmutablePureComponent {
 | 
				
			|||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
					    } else if(results.get('statuses') && results.get('statuses').size === 0 && !searchEnabled && !(searchTerm.startsWith('@') || searchTerm.startsWith('#') || searchTerm.includes(' '))) {
 | 
				
			||||||
 | 
					      statuses = (
 | 
				
			||||||
 | 
					        <section>
 | 
				
			||||||
 | 
					          <h5><Icon id='quote-right' fixedWidth /><FormattedMessage id='search_results.statuses' defaultMessage='Toots' /></h5>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          <div className='search-results__info'>
 | 
				
			||||||
 | 
					            <FormattedMessage id='search_results.statuses_fts_disabled' defaultMessage='Searching toots by their content is not enabled on this Mastodon server.' />
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					        </section>
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let accounts, statuses, hashtags;
 | 
					    let accounts, statuses, hashtags;
 | 
				
			||||||
 | 
				
			|||||||
@ -5,6 +5,7 @@ import { fetchSuggestions, dismissSuggestion } from '../../../actions/suggestion
 | 
				
			|||||||
const mapStateToProps = state => ({
 | 
					const mapStateToProps = state => ({
 | 
				
			||||||
  results: state.getIn(['search', 'results']),
 | 
					  results: state.getIn(['search', 'results']),
 | 
				
			||||||
  suggestions: state.getIn(['suggestions', 'items']),
 | 
					  suggestions: state.getIn(['suggestions', 'items']),
 | 
				
			||||||
 | 
					  searchTerm: state.getIn(['search', 'searchTerm']),
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const mapDispatchToProps = dispatch => ({
 | 
					const mapDispatchToProps = dispatch => ({
 | 
				
			||||||
 | 
				
			|||||||
@ -16,6 +16,7 @@ const initialState = ImmutableMap({
 | 
				
			|||||||
  submitted: false,
 | 
					  submitted: false,
 | 
				
			||||||
  hidden: false,
 | 
					  hidden: false,
 | 
				
			||||||
  results: ImmutableMap(),
 | 
					  results: ImmutableMap(),
 | 
				
			||||||
 | 
					  searchTerm: '',
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default function search(state = initialState, action) {
 | 
					export default function search(state = initialState, action) {
 | 
				
			||||||
@ -40,7 +41,7 @@ export default function search(state = initialState, action) {
 | 
				
			|||||||
      accounts: ImmutableList(action.results.accounts.map(item => item.id)),
 | 
					      accounts: ImmutableList(action.results.accounts.map(item => item.id)),
 | 
				
			||||||
      statuses: ImmutableList(action.results.statuses.map(item => item.id)),
 | 
					      statuses: ImmutableList(action.results.statuses.map(item => item.id)),
 | 
				
			||||||
      hashtags: fromJS(action.results.hashtags),
 | 
					      hashtags: fromJS(action.results.hashtags),
 | 
				
			||||||
    })).set('submitted', true);
 | 
					    })).set('submitted', true).set('searchTerm', action.searchTerm);
 | 
				
			||||||
  default:
 | 
					  default:
 | 
				
			||||||
    return state;
 | 
					    return state;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
				
			|||||||
@ -78,6 +78,11 @@
 | 
				
			|||||||
  font-weight: 500;
 | 
					  font-weight: 500;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.search-results__info {
 | 
				
			||||||
 | 
					  padding: 10px;
 | 
				
			||||||
 | 
					  color: $secondary-text-color;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.trends {
 | 
					.trends {
 | 
				
			||||||
  &__header {
 | 
					  &__header {
 | 
				
			||||||
    color: $dark-text-color;
 | 
					    color: $dark-text-color;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user