about summary refs log tree commit diff
path: root/app/assets/javascripts/components/actions/compose.jsx
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-08-31 16:15:12 +0200
committerEugen Rochko <eugen@zeonfederated.com>2016-08-31 16:15:12 +0200
commit72591cc6d59d774e66d1d42af44bdc00f71f99f8 (patch)
treee2ab1fba6e9b446b92f065af920483b998a2c2ab /app/assets/javascripts/components/actions/compose.jsx
parent92afd296509de82e7550f67064b032db916b1f63 (diff)
Cleaning up action names and compose drawer
Diffstat (limited to 'app/assets/javascripts/components/actions/compose.jsx')
-rw-r--r--app/assets/javascripts/components/actions/compose.jsx49
1 files changed, 49 insertions, 0 deletions
diff --git a/app/assets/javascripts/components/actions/compose.jsx b/app/assets/javascripts/components/actions/compose.jsx
new file mode 100644
index 000000000..614ed1a89
--- /dev/null
+++ b/app/assets/javascripts/components/actions/compose.jsx
@@ -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
+  };
+}
+