This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
mastodon/app/assets/javascripts/components/middleware/sounds.jsx

23 lines
439 B
JavaScript

const play = audio => {
if (!audio.paused) {
audio.pause();
audio.fastSeek(0);
}
audio.play();
};
export default function soundsMiddleware() {
const soundCache = {
boop: new Audio(['/sounds/boop.mp3'])
};
return ({ dispatch }) => next => (action) => {
if (action.meta && action.meta.sound && soundCache[action.meta.sound]) {
play(soundCache[action.meta.sound]);
}
return next(action);
};
};