const bridge = require('./platformBridge') const { emptyProgress } = require('./progressContract') function normalizeSettings(value = {}) { return { ...value, fontScale: value.fontScale === 'xlarge' ? 'xlarge' : 'large', sound: value.sound !== false } } function resetStoryProgress(expectedScope) { if (!expectedScope || bridge.getScope() !== expectedScope) return false const current = bridge.getProgress() const next = { ...current, ...emptyProgress(), collectedMemoryCards: current.collectedMemoryCards || [] } if (!bridge.saveProgress(next, true)) return false bridge.writeLocal('audio', {}) return true } module.exports = { getProgress: bridge.getProgress, saveProgress: value => bridge.saveProgress(value), resetStoryProgress, getSettings: () => normalizeSettings(bridge.readLocal('settings', {})), saveSettings: value => bridge.writeLocal('settings', normalizeSettings(value)), getAudioProgress: () => bridge.readLocal('audio', {}), saveAudioProgress: value => bridge.writeLocal('audio', value), }