nas/app/javascript/mastodon/actions/reaction_deck.js
2023-05-26 21:16:35 +09:00

79 lines
1.9 KiB
JavaScript

import api from '../api';
export const REACTION_DECK_FETCH_REQUEST = 'REACTION_DECK_FETCH_REQUEST';
export const REACTION_DECK_FETCH_SUCCESS = 'REACTION_DECK_FETCH_SUCCESS';
export const REACTION_DECK_FETCH_FAIL = 'REACTION_DECK_FETCH_FAIL';
export const REACTION_DECK_UPDATE_REQUEST = 'REACTION_DECK_UPDATE_REQUEST';
export const REACTION_DECK_UPDATE_SUCCESS = 'REACTION_DECK_UPDATE_SUCCESS';
export const REACTION_DECK_UPDATE_FAIL = 'REACTION_DECK_UPDATE_FAIL';
export function fetchReactionDeck() {
return (dispatch, getState) => {
dispatch(fetchReactionDeckRequest());
api(getState).get('/api/v1/reaction_deck').then(response => {
dispatch(fetchReactionDeckSuccess(response.data));
}).catch(error => {
dispatch(fetchReactionDeckFail(error));
});
};
}
export function fetchReactionDeckRequest() {
return {
type: REACTION_DECK_FETCH_REQUEST,
skipLoading: true,
};
}
export function fetchReactionDeckSuccess(emojis) {
return {
type: REACTION_DECK_FETCH_SUCCESS,
emojis,
skipLoading: true,
};
}
export function fetchReactionDeckFail(error) {
return {
type: REACTION_DECK_FETCH_FAIL,
error,
skipLoading: true,
};
}
export function updateReactionDeck(emojis) {
return (dispatch, getState) => {
dispatch(updateReactionDeckRequest());
api(getState).post('/api/v1/reaction_deck', { emojis }).then(response => {
dispatch(updateReactionDeckSuccess(response.data));
}).catch(error => {
dispatch(updateReactionDeckFail(error));
});
};
}
export function updateReactionDeckRequest() {
return {
type: REACTION_DECK_UPDATE_REQUEST,
skipLoading: true,
};
}
export function updateReactionDeckSuccess(emojis) {
return {
type: REACTION_DECK_UPDATE_SUCCESS,
emojis,
skipLoading: true,
};
}
export function updateReactionDeckFail(error) {
return {
type: REACTION_DECK_UPDATE_FAIL,
error,
skipLoading: true,
};
}