|
|
|
@ -82,6 +82,8 @@ export const COMPOSE_FOCUS = 'COMPOSE_FOCUS'; |
|
|
|
|
const messages = defineMessages({ |
|
|
|
|
uploadErrorLimit: { id: 'upload_error.limit', defaultMessage: 'File upload limit exceeded.' }, |
|
|
|
|
uploadErrorPoll: { id: 'upload_error.poll', defaultMessage: 'File upload not allowed with polls.' }, |
|
|
|
|
open: { id: 'compose.published.open', defaultMessage: 'Open' }, |
|
|
|
|
published: { id: 'compose.published.body', defaultMessage: 'Post published.' }, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
export const ensureComposeIsVisible = (getState, routerHistory) => { |
|
|
|
@ -240,6 +242,13 @@ export function submitCompose(routerHistory) { |
|
|
|
|
insertIfOnline('public'); |
|
|
|
|
insertIfOnline(`account:${response.data.account.id}`); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
dispatch(showAlert({ |
|
|
|
|
message: messages.published, |
|
|
|
|
action: messages.open, |
|
|
|
|
dismissAfter: 10000, |
|
|
|
|
onClick: () => routerHistory.push(`/@${response.data.account.username}/${response.data.id}`), |
|
|
|
|
})); |
|
|
|
|
}).catch(function (error) { |
|
|
|
|
dispatch(submitComposeFail(error)); |
|
|
|
|
}); |
|
|
|
@ -269,18 +278,19 @@ export function submitComposeFail(error) { |
|
|
|
|
export function uploadCompose(files) { |
|
|
|
|
return function (dispatch, getState) { |
|
|
|
|
const uploadLimit = 4; |
|
|
|
|
const media = getState().getIn(['compose', 'media_attachments']); |
|
|
|
|
const pending = getState().getIn(['compose', 'pending_media_attachments']); |
|
|
|
|
const media = getState().getIn(['compose', 'media_attachments']); |
|
|
|
|
const pending = getState().getIn(['compose', 'pending_media_attachments']); |
|
|
|
|
const progress = new Array(files.length).fill(0); |
|
|
|
|
|
|
|
|
|
let total = Array.from(files).reduce((a, v) => a + v.size, 0); |
|
|
|
|
|
|
|
|
|
if (files.length + media.size + pending > uploadLimit) { |
|
|
|
|
dispatch(showAlert(undefined, messages.uploadErrorLimit)); |
|
|
|
|
dispatch(showAlert({ message: messages.uploadErrorLimit })); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (getState().getIn(['compose', 'poll'])) { |
|
|
|
|
dispatch(showAlert(undefined, messages.uploadErrorPoll)); |
|
|
|
|
dispatch(showAlert({ message: messages.uploadErrorPoll })); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|