* chore(client): tidy Flash by tidying tone * add store import * fix enum, remove default switch case Co-authored-by: Nicholas Carrigan <nhcarrigan@gmail.com> * typo galore Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com> * rejig everything, because refactoring is fun 🙃 * refactor: DRY playTone * fix url to foss library Co-authored-by: Nicholas Carrigan <nhcarrigan@gmail.com> * alphabetasize FlashMessage enum * add all FlashMessages to tone/index.ts * remove redundant type * my code is correctnpm run develop:client * fix: remove circular dependency * fix: typo * remove logs, play special tones for nightmode * play sound on challengeComplete Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com> Co-authored-by: Nicholas Carrigan <nhcarrigan@gmail.com> Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
62 lines
1.6 KiB
JavaScript
62 lines
1.6 KiB
JavaScript
import { call, put, takeEvery } from 'redux-saga/effects';
|
|
import { createFlashMessage } from '../components/Flash/redux';
|
|
import { FlashMessages } from '../components/Flash/redux/flash-messages';
|
|
import { postWebhookToken, deleteWebhookToken } from '../utils/ajax';
|
|
import { postWebhookTokenComplete, deleteWebhookTokenComplete } from '.';
|
|
|
|
const message = {
|
|
created: {
|
|
type: 'success',
|
|
message: FlashMessages.TokenCreated
|
|
},
|
|
createErr: {
|
|
type: 'danger',
|
|
message: FlashMessages.CreateTokenErr
|
|
},
|
|
deleted: {
|
|
type: 'info',
|
|
message: FlashMessages.TokenDeleted
|
|
},
|
|
deleteErr: {
|
|
type: 'danger',
|
|
message: FlashMessages.DeleteTokenErr
|
|
}
|
|
};
|
|
|
|
function* postWebhookTokenSaga() {
|
|
try {
|
|
const response = yield call(postWebhookToken);
|
|
|
|
if (response?.message) {
|
|
yield put(createFlashMessage(response));
|
|
} else {
|
|
yield put(postWebhookTokenComplete(response));
|
|
yield put(createFlashMessage(message.created));
|
|
}
|
|
} catch (e) {
|
|
yield put(createFlashMessage(message.createErr));
|
|
}
|
|
}
|
|
|
|
function* deleteWebhookTokenSaga() {
|
|
try {
|
|
const response = yield call(deleteWebhookToken);
|
|
|
|
if (response?.message) {
|
|
yield put(createFlashMessage(response));
|
|
} else {
|
|
yield put(deleteWebhookTokenComplete());
|
|
yield put(createFlashMessage(message.deleted));
|
|
}
|
|
} catch (e) {
|
|
yield put(createFlashMessage(message.deleteErr));
|
|
}
|
|
}
|
|
|
|
export function createWebhookSaga(types) {
|
|
return [
|
|
takeEvery(types.postWebhookToken, postWebhookTokenSaga),
|
|
takeEvery(types.deleteWebhookToken, deleteWebhookTokenSaga)
|
|
];
|
|
}
|