|
|
|
@ -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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|