Co-authored-by: tobi <tobi.smethurst@protonmail.com> Reviewed-on: https://codeberg.org/superseriousbusiness/masto-fe-standalone/pulls/88 Co-authored-by: Zoë Bijl <moiety@noreply.codeberg.org> Co-committed-by: Zoë Bijl <moiety@noreply.codeberg.org>
39 lines
1.0 KiB
JavaScript
39 lines
1.0 KiB
JavaScript
import api from "../api";
|
|
|
|
import { importFetchedAccounts } from "./importer";
|
|
|
|
export const HISTORY_FETCH_REQUEST = "HISTORY_FETCH_REQUEST";
|
|
export const HISTORY_FETCH_SUCCESS = "HISTORY_FETCH_SUCCESS";
|
|
export const HISTORY_FETCH_FAIL = "HISTORY_FETCH_FAIL";
|
|
|
|
export const fetchHistory = statusId => (dispatch, getState) => {
|
|
const loading = getState().getIn(["history", statusId, "loading"]);
|
|
|
|
if (loading) {
|
|
return;
|
|
}
|
|
|
|
dispatch(fetchHistoryRequest(statusId));
|
|
|
|
api(getState).get(`/api/v1/statuses/${statusId}/history`).then(({ data }) => {
|
|
dispatch(importFetchedAccounts(data.map(x => x.account)));
|
|
dispatch(fetchHistorySuccess(statusId, data));
|
|
}).catch(error => dispatch(fetchHistoryFail(error)));
|
|
};
|
|
|
|
export const fetchHistoryRequest = statusId => ({
|
|
type: HISTORY_FETCH_REQUEST,
|
|
statusId,
|
|
});
|
|
|
|
export const fetchHistorySuccess = (statusId, history) => ({
|
|
type: HISTORY_FETCH_SUCCESS,
|
|
statusId,
|
|
history,
|
|
});
|
|
|
|
export const fetchHistoryFail = error => ({
|
|
type: HISTORY_FETCH_FAIL,
|
|
error,
|
|
});
|