Fix Settings Sync issues

This commit is contained in:
Andrew Bastin
2021-05-22 21:48:15 -04:00
parent 454c11a12c
commit 5fb457d331
2 changed files with 45 additions and 21 deletions

View File

@@ -62,6 +62,22 @@ const dispatchers: Dispatchers<SettingsType> = {
const result: Partial<SettingsType> = {}
result[settingKey] = value
return result
},
applySettingFB<K extends keyof SettingsType>(
_currentState: SettingsType,
{ settingKey, value }: { settingKey: K; value: SettingsType[K] }
) {
if (!validKeys.includes(settingKey)) {
console.log(
`Ignoring non-existent setting key '${settingKey}' assignment by firebase`
)
return {}
}
const result: Partial<SettingsType> = {}
result[settingKey] = value
return result
},
}
@@ -102,3 +118,16 @@ export function applySetting<K extends keyof SettingsType>(
},
})
}
export function applySettingFB<K extends keyof SettingsType>(
settingKey: K,
value: SettingsType[K]
) {
settingsStore.dispatch({
dispatcher: "applySettingFB",
payload: {
settingKey,
value,
},
})
}