You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.1 KiB
48 lines
1.1 KiB
import api from '../api' |
|
|
|
export const FOLLOW_CHANGE = 'FOLLOW_CHANGE'; |
|
export const FOLLOW_SUBMIT_REQUEST = 'FOLLOW_SUBMIT_REQUEST'; |
|
export const FOLLOW_SUBMIT_SUCCESS = 'FOLLOW_SUBMIT_SUCCESS'; |
|
export const FOLLOW_SUBMIT_FAIL = 'FOLLOW_SUBMIT_FAIL'; |
|
|
|
export function changeFollow(text) { |
|
return { |
|
type: FOLLOW_CHANGE, |
|
text: text |
|
}; |
|
}; |
|
|
|
export function submitFollow(router) { |
|
return function (dispatch, getState) { |
|
dispatch(submitFollowRequest()); |
|
|
|
api(getState).post('/api/v1/follows', { |
|
uri: getState().getIn(['follow', 'text']) |
|
}).then(function (response) { |
|
dispatch(submitFollowSuccess(response.data)); |
|
router.push(`/accounts/${response.data.id}`); |
|
}).catch(function (error) { |
|
dispatch(submitFollowFail(error)); |
|
}); |
|
}; |
|
}; |
|
|
|
export function submitFollowRequest() { |
|
return { |
|
type: FOLLOW_SUBMIT_REQUEST |
|
}; |
|
}; |
|
|
|
export function submitFollowSuccess(account) { |
|
return { |
|
type: FOLLOW_SUBMIT_SUCCESS, |
|
account: account |
|
}; |
|
}; |
|
|
|
export function submitFollowFail(error) { |
|
return { |
|
type: FOLLOW_SUBMIT_FAIL, |
|
error: error |
|
}; |
|
};
|
|
|