Cleaning up action names and compose drawer
This commit is contained in:
49
app/assets/javascripts/components/actions/compose.jsx
Normal file
49
app/assets/javascripts/components/actions/compose.jsx
Normal file
@ -0,0 +1,49 @@
|
||||
import api from '../api'
|
||||
|
||||
export const COMPOSE_CHANGE = 'COMPOSE_CHANGE';
|
||||
export const COMPOSE_SUBMIT = 'COMPOSE_SUBMIT';
|
||||
export const COMPOSE_SUBMIT_REQUEST = 'COMPOSE_SUBMIT_REQUEST';
|
||||
export const COMPOSE_SUBMIT_SUCCESS = 'COMPOSE_SUBMIT_SUCCESS';
|
||||
export const COMPOSE_SUBMIT_FAIL = 'COMPOSE_SUBMIT_FAIL';
|
||||
|
||||
export function changeCompose(text) {
|
||||
return {
|
||||
type: COMPOSE_CHANGE,
|
||||
text: text
|
||||
};
|
||||
}
|
||||
|
||||
export function submitCompose() {
|
||||
return function (dispatch, getState) {
|
||||
dispatch(submitComposeRequest());
|
||||
|
||||
api(getState).post('/api/statuses', {
|
||||
status: getState().getIn(['compose', 'text'], ''),
|
||||
in_reply_to_id: getState().getIn(['compose', 'in_reply_to_id'], null)
|
||||
}).then(function (response) {
|
||||
dispatch(submitComposeSuccess(response.data));
|
||||
}).catch(function (error) {
|
||||
dispatch(submitComposeFail(error));
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export function submitComposeRequest() {
|
||||
return {
|
||||
type: COMPOSE_SUBMIT_REQUEST
|
||||
};
|
||||
}
|
||||
|
||||
export function submitComposeSuccess(response) {
|
||||
return {
|
||||
type: COMPOSE_SUBMIT_SUCCESS
|
||||
};
|
||||
}
|
||||
|
||||
export function submitComposeFail(error) {
|
||||
return {
|
||||
type: COMPOSE_SUBMIT_FAIL,
|
||||
error: error
|
||||
};
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
export const SET_ACCESS_TOKEN = 'SET_ACCESS_TOKEN';
|
||||
export const ACCESS_TOKEN_SET = 'ACCESS_TOKEN_SET';
|
||||
|
||||
export function setAccessToken(token) {
|
||||
return {
|
||||
type: SET_ACCESS_TOKEN,
|
||||
type: ACCESS_TOKEN_SET,
|
||||
token: token
|
||||
};
|
||||
}
|
||||
|
@ -1,81 +0,0 @@
|
||||
import fetch from 'isomorphic-fetch'
|
||||
|
||||
export const SET_TIMELINE = 'SET_TIMELINE';
|
||||
export const ADD_STATUS = 'ADD_STATUS';
|
||||
|
||||
export const PUBLISH = 'PUBLISH';
|
||||
export const PUBLISH_START = 'PUBLISH_START';
|
||||
export const PUBLISH_SUCC = 'PUBLISH_SUCC';
|
||||
export const PUBLISH_ERROR = 'PUBLISH_ERROR';
|
||||
|
||||
export function setTimeline(timeline, statuses) {
|
||||
return {
|
||||
type: SET_TIMELINE,
|
||||
timeline: timeline,
|
||||
statuses: statuses
|
||||
};
|
||||
}
|
||||
|
||||
export function addStatus(timeline, status) {
|
||||
return {
|
||||
type: ADD_STATUS,
|
||||
timeline: timeline,
|
||||
status: status
|
||||
};
|
||||
}
|
||||
|
||||
export function publishStart() {
|
||||
return {
|
||||
type: PUBLISH_START
|
||||
};
|
||||
}
|
||||
|
||||
export function publishError(error) {
|
||||
return {
|
||||
type: PUBLISH_ERROR,
|
||||
error: error
|
||||
};
|
||||
}
|
||||
|
||||
export function publishSucc(status) {
|
||||
return {
|
||||
type: PUBLISH_SUCC,
|
||||
status: status
|
||||
};
|
||||
}
|
||||
|
||||
export function publish(text, in_reply_to_id) {
|
||||
return function (dispatch, getState) {
|
||||
const access_token = getState().getIn(['meta', 'access_token']);
|
||||
|
||||
var data = new FormData();
|
||||
|
||||
data.append('status', text);
|
||||
|
||||
if (in_reply_to_id !== null) {
|
||||
data.append('in_reply_to_id', in_reply_to_id);
|
||||
}
|
||||
|
||||
dispatch(publishStart());
|
||||
|
||||
return fetch('/api/statuses', {
|
||||
method: 'POST',
|
||||
|
||||
headers: {
|
||||
'Authorization': `Bearer ${access_token}`
|
||||
},
|
||||
|
||||
body: data
|
||||
}).then(function (response) {
|
||||
return response.json();
|
||||
}).then(function (json) {
|
||||
if (json.error) {
|
||||
dispatch(publishError(json.error));
|
||||
} else {
|
||||
dispatch(publishSucc(json));
|
||||
}
|
||||
}).catch(function (error) {
|
||||
dispatch(publishError(error));
|
||||
});
|
||||
};
|
||||
}
|
19
app/assets/javascripts/components/actions/timelines.jsx
Normal file
19
app/assets/javascripts/components/actions/timelines.jsx
Normal file
@ -0,0 +1,19 @@
|
||||
export const TIMELINE_SET = 'TIMELINE_SET';
|
||||
export const TIMELINE_UPDATE = 'TIMELINE_UPDATE';
|
||||
|
||||
|
||||
export function setTimeline(timeline, statuses) {
|
||||
return {
|
||||
type: TIMELINE_SET,
|
||||
timeline: timeline,
|
||||
statuses: statuses
|
||||
};
|
||||
}
|
||||
|
||||
export function updateTimeline(timeline, status) {
|
||||
return {
|
||||
type: TIMELINE_UPDATE,
|
||||
timeline: timeline,
|
||||
status: status
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user