diff --git a/src/themes/ThemeContextProvider.jsx b/src/themes/ThemeContextProvider.jsx index b59ee500..0e980e54 100644 --- a/src/themes/ThemeContextProvider.jsx +++ b/src/themes/ThemeContextProvider.jsx @@ -10,7 +10,14 @@ const listThemes = [ { theme: 'light', color: '#0A083B', className: '' }, { theme: 'dark', color: '#fff', className: '' }, ]; - +function isJson(str) { + try { + JSON.parse(str); + } catch (e) { + return false; + } + return true; +} export class ThemesContextProvider extends React.Component { constructor(props) { super(props); @@ -25,7 +32,7 @@ export class ThemesContextProvider extends React.Component { localStorage.setItem('theme', JSON.stringify(listThemes[0])); return currentTheme ?? listThemes[0]; } - return JSON.parse(currentTheme); + return isJson(currentTheme) ? JSON.parse(currentTheme) : listThemes[0]; }; changeTheme = (theme) => {