diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-06-04 04:50:27 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-06-04 04:50:27 +0200 |
| commit | 91c47c22f2c71c524fd665f19186bb014c94ab31 (patch) | |
| tree | 842c12c78c64845d6326d241e4ed84fce9adef29 /app/client/common/audioPlayer/audioPlayer.reducer.js | |
| parent | 0cfde7b1c1ded067f56c681722b3c3d5f08692be (diff) | |
audioplayer you can toggle
Diffstat (limited to 'app/client/common/audioPlayer/audioPlayer.reducer.js')
| -rw-r--r-- | app/client/common/audioPlayer/audioPlayer.reducer.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/app/client/common/audioPlayer/audioPlayer.reducer.js b/app/client/common/audioPlayer/audioPlayer.reducer.js new file mode 100644 index 0000000..e249325 --- /dev/null +++ b/app/client/common/audioPlayer/audioPlayer.reducer.js @@ -0,0 +1,44 @@ +import types from '../../types' + +const audioPlayerInitialState = { + loading: false, + error: null, + status: '', + current: null, + index: -1, + playlist: [], +} + +const audio = document.createElement('audio') + +const audioPlayerReducer = (state = audioPlayerInitialState, action) => { + switch(action.type) { + case types.audioPlayer.play: + if (! action.file.url) { + return state + } + audio.src = action.file.url + audio.play() + return { + ...state, + playing: true, + current: action.file, + } + case types.audioPlayer.pause: + audio.pause() + return { + ...state, + playing: false, + } + case types.audioPlayer.resume: + audio.play() + return { + ...state, + playing: true, + } + default: + return state + } +} + +export default audioPlayerReducer |
