material-ui-audio-player
Version:
Audio player for material ui design
77 lines • 3.4 kB
JavaScript
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var actions_1 = require("./actions");
var player_1 = __importDefault(require("./player"));
function reducer(state, action) {
switch (action.type) {
case actions_1.PLAYER_STATUS_PLAY:
return {
player: __assign(__assign({}, state.player), { status: player_1.default.STATUS.PLAY }),
};
case actions_1.PLAYER_STATUS_PAUSE:
return {
player: __assign(__assign({}, state.player), { status: player_1.default.STATUS.PAUSE }),
};
case actions_1.PLAYER_VOLUME_STATUS_UNMUTE:
return {
player: __assign(__assign({}, state.player), { volume: __assign(__assign({}, state.player.volume), { status: player_1.default.VOLUME.STATUS.UNMUTE }) }),
};
case actions_1.PLAYER_VOLUME_STATUS_MUTE:
return {
player: __assign(__assign({}, state.player), { volume: __assign(__assign({}, state.player.volume), { status: player_1.default.VOLUME.STATUS.MUTE }) }),
};
case actions_1.PLAYER_VOLUME_CHANGE:
return {
player: __assign(__assign({}, state.player), { volume: {
status: player_1.default.VOLUME.STATUS.UNMUTE,
value: action.volumeValue,
} }),
};
case actions_1.PLAYER_SET_DURATION:
return {
player: __assign(__assign({}, state.player), { duration: action.duration }),
};
case actions_1.PLAYER_SET_TIME:
return {
player: __assign(__assign({}, state.player), { progress: action.progress, remaning: action.remaning, current: action.current }),
};
case actions_1.PLAYER_SLIDER_MOVED:
return {
player: __assign(__assign({}, state.player), { progress: action.progress, remaning: action.remaning, current: action.current }),
};
case actions_1.PLAYER_AUDIO_ENDED:
return {
player: __assign(__assign({}, state.player), { status: player_1.default.STATUS.STOP }),
};
case actions_1.PLAYER_REPLAY:
return {
player: __assign(__assign({}, state.player), { status: player_1.default.STATUS.PLAY, progress: 0, current: 0 }),
};
case actions_1.PLAYER_AUTOPLAY:
return {
player: __assign(__assign({}, state.player), { status: player_1.default.STATUS.PLAY, autoplay: true }),
};
case actions_1.PLAYER_LOOP:
return {
player: __assign(__assign({}, state.player), { loop: action.loop }),
};
default:
return state;
}
}
exports.default = reducer;
//# sourceMappingURL=reducer.js.map