Spaces:
Runtime error
Runtime error
const SET_AUTOSAVE_ENABLED = 'scratch-gui/autosave/SET_AUTOSAVE_ENABLED'; | |
const SET_AUTOSAVE_INTERVAL = 'scratch-gui/autosave/SET_AUTOSAVE_INTERVAL'; | |
const SET_AUTOSAVE_LAST_SAVE_TIME = 'scratch-gui/autosave/SET_AUTOSAVE_LAST_SAVE_TIME'; | |
const SET_AUTOSAVE_NOTIFICATIONS = 'scratch-gui/autosave/SET_AUTOSAVE_NOTIFICATIONS'; | |
const initialState = { | |
enabled: false, | |
interval: 5, // minutes | |
lastSaveTime: 0, | |
showNotifications: true | |
}; | |
const reducer = function (state, action) { | |
if (typeof state === 'undefined') state = initialState; | |
switch (action.type) { | |
case SET_AUTOSAVE_ENABLED: | |
return Object.assign({}, state, { | |
enabled: action.enabled | |
}); | |
case SET_AUTOSAVE_INTERVAL: | |
return Object.assign({}, state, { | |
interval: action.interval | |
}); | |
case SET_AUTOSAVE_LAST_SAVE_TIME: | |
return Object.assign({}, state, { | |
lastSaveTime: action.timestamp | |
}); | |
case SET_AUTOSAVE_NOTIFICATIONS: | |
return Object.assign({}, state, { | |
showNotifications: action.showNotifications | |
}); | |
default: | |
return state; | |
} | |
}; | |
const setAutosaveEnabled = enabled => ({ | |
type: SET_AUTOSAVE_ENABLED, | |
enabled | |
}); | |
const setAutosaveInterval = interval => ({ | |
type: SET_AUTOSAVE_INTERVAL, | |
interval | |
}); | |
const setAutosaveLastSaveTime = timestamp => ({ | |
type: SET_AUTOSAVE_LAST_SAVE_TIME, | |
timestamp | |
}); | |
const setAutosaveNotifications = showNotifications => ({ | |
type: SET_AUTOSAVE_NOTIFICATIONS, | |
showNotifications | |
}); | |
export { | |
reducer as default, | |
initialState as autosaveInitialState, | |
setAutosaveEnabled, | |
setAutosaveInterval, | |
setAutosaveLastSaveTime, | |
setAutosaveNotifications | |
}; | |