|
|
@ -1,4 +1,5 @@ |
|
|
|
import api from '../api'; |
|
|
|
import { CancelToken } from 'axios'; |
|
|
|
import { throttle } from 'lodash'; |
|
|
|
import { search as emojiSearch } from '../features/emoji/emoji_mart_search_light'; |
|
|
|
import { tagHistory } from '../settings'; |
|
|
@ -11,6 +12,8 @@ import { |
|
|
|
refreshPublicTimeline, |
|
|
|
} from './timelines'; |
|
|
|
|
|
|
|
let cancelFetchComposeSuggestionsAccounts; |
|
|
|
|
|
|
|
export const COMPOSE_CHANGE = 'COMPOSE_CHANGE'; |
|
|
|
export const COMPOSE_SUBMIT_REQUEST = 'COMPOSE_SUBMIT_REQUEST'; |
|
|
|
export const COMPOSE_SUBMIT_SUCCESS = 'COMPOSE_SUBMIT_SUCCESS'; |
|
|
@ -257,13 +260,22 @@ export function undoUploadCompose(media_id) { |
|
|
|
}; |
|
|
|
|
|
|
|
export function clearComposeSuggestions() { |
|
|
|
if (cancelFetchComposeSuggestionsAccounts) { |
|
|
|
cancelFetchComposeSuggestionsAccounts(); |
|
|
|
} |
|
|
|
return { |
|
|
|
type: COMPOSE_SUGGESTIONS_CLEAR, |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
const fetchComposeSuggestionsAccounts = throttle((dispatch, getState, token) => { |
|
|
|
if (cancelFetchComposeSuggestionsAccounts) { |
|
|
|
cancelFetchComposeSuggestionsAccounts(); |
|
|
|
} |
|
|
|
api(getState).get('/api/v1/accounts/search', { |
|
|
|
cancelToken: new CancelToken(cancel => { |
|
|
|
cancelFetchComposeSuggestionsAccounts = cancel; |
|
|
|
}), |
|
|
|
params: { |
|
|
|
q: token.slice(1), |
|
|
|
resolve: false, |
|
|
|