|
|
@ -2,7 +2,11 @@ import fetch from 'isomorphic-fetch' |
|
|
|
|
|
|
|
|
|
|
|
export const SET_TIMELINE = 'SET_TIMELINE'; |
|
|
|
export const SET_TIMELINE = 'SET_TIMELINE'; |
|
|
|
export const ADD_STATUS = 'ADD_STATUS'; |
|
|
|
export const ADD_STATUS = 'ADD_STATUS'; |
|
|
|
|
|
|
|
|
|
|
|
export const PUBLISH = 'PUBLISH'; |
|
|
|
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) { |
|
|
|
export function setTimeline(timeline, statuses) { |
|
|
|
return { |
|
|
|
return { |
|
|
@ -20,14 +24,58 @@ export function addStatus(timeline, 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) { |
|
|
|
export function publish(text, in_reply_to_id) { |
|
|
|
return function (dispatch) { |
|
|
|
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', { |
|
|
|
return fetch('/api/statuses', { |
|
|
|
method: 'POST' |
|
|
|
method: 'POST', |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
headers: { |
|
|
|
|
|
|
|
'Authorization': `Bearer ${access_token}` |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
body: data |
|
|
|
}).then(function (response) { |
|
|
|
}).then(function (response) { |
|
|
|
return response.json(); |
|
|
|
return response.json(); |
|
|
|
}).then(function (json) { |
|
|
|
}).then(function (json) { |
|
|
|
console.log(json); |
|
|
|
if (json.error) { |
|
|
|
|
|
|
|
dispatch(publishError(json.error)); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
dispatch(publishSucc(json)); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}).catch(function (error) { |
|
|
|
|
|
|
|
dispatch(publishError(error)); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}; |
|
|
|
}; |
|
|
|
} |
|
|
|
} |
|
|
|