|
|
import { APPEARANCE_SETTINGS } from "@/utils/constants"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const Appearance = { |
|
|
defaultSettings: { |
|
|
showScrollbar: false, |
|
|
autoSubmitSttInput: true, |
|
|
autoPlayAssistantTtsResponse: false, |
|
|
enableSpellCheck: true, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getSettings: () => { |
|
|
try { |
|
|
const settings = localStorage.getItem(APPEARANCE_SETTINGS); |
|
|
return settings ? JSON.parse(settings) : Appearance.defaultSettings; |
|
|
} catch (e) { |
|
|
return Appearance.defaultSettings; |
|
|
} |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
get: (key) => { |
|
|
const settings = Appearance.getSettings(); |
|
|
return settings.hasOwnProperty(key) |
|
|
? settings[key] |
|
|
: Appearance.defaultSettings[key]; |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set: (key, value) => { |
|
|
const settings = Appearance.getSettings(); |
|
|
settings[key] = value; |
|
|
Appearance.updateSettings(settings); |
|
|
return settings; |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
updateSettings: (newSettings) => { |
|
|
const updatedSettings = { ...Appearance.getSettings(), ...newSettings }; |
|
|
localStorage.setItem(APPEARANCE_SETTINGS, JSON.stringify(updatedSettings)); |
|
|
return updatedSettings; |
|
|
}, |
|
|
}; |
|
|
|
|
|
export default Appearance; |
|
|
|