Fix full-text search query quotation, improve tag search performance with an index,

add ability to open status by URL from search (fix #53)
This commit is contained in:
Eugen Rochko 2017-03-22 17:36:34 +01:00
parent c89ccbab09
commit 5aa3df017b
14 changed files with 106 additions and 20 deletions

View file

@ -90,7 +90,6 @@ export default function accounts(state = initialState, action) {
case REBLOGS_FETCH_SUCCESS:
case FAVOURITES_FETCH_SUCCESS:
case COMPOSE_SUGGESTIONS_READY:
case SEARCH_SUGGESTIONS_READY:
case FOLLOW_REQUESTS_FETCH_SUCCESS:
case FOLLOW_REQUESTS_EXPAND_SUCCESS:
case BLOCKS_FETCH_SUCCESS:
@ -98,6 +97,7 @@ export default function accounts(state = initialState, action) {
return normalizeAccounts(state, action.accounts);
case NOTIFICATIONS_REFRESH_SUCCESS:
case NOTIFICATIONS_EXPAND_SUCCESS:
case SEARCH_SUGGESTIONS_READY:
return normalizeAccountsFromStatuses(normalizeAccounts(state, action.accounts), action.statuses);
case TIMELINE_REFRESH_SUCCESS:
case TIMELINE_EXPAND_SUCCESS:

View file

@ -32,7 +32,7 @@ const normalizeSuggestions = (state, value, accounts, hashtags, statuses) => {
value: `#${item}`
}));
if (value.indexOf('@') === -1 && value.indexOf(' ') === -1 && hashtags.indexOf(value) === -1) {
if (value.indexOf('@') === -1 && value.indexOf(' ') === -1 && !value.startsWith('http://') && !value.startsWith('https://') && hashtags.indexOf(value) === -1) {
hashtagItems.unshift({
type: 'hashtag',
id: value,
@ -40,9 +40,22 @@ const normalizeSuggestions = (state, value, accounts, hashtags, statuses) => {
});
}
if (hashtagItems.length > 0) {
newSuggestions.push({
title: 'hashtag',
items: hashtagItems
});
}
}
if (statuses.length > 0) {
newSuggestions.push({
title: 'hashtag',
items: hashtagItems
title: 'status',
items: statuses.map(item => ({
type: 'status',
id: item.id,
value: item.id
}))
});
}