Skip to content

Commit eb80a55

Browse files
committed
fix serializations
1 parent e26d37b commit eb80a55

3 files changed

Lines changed: 19 additions & 15 deletions

File tree

src/preferences/AppReducer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ const AppReducer = (state, action) => {
9393
searchEngine: newState.searchEngine,
9494
cardsSettings: newState.cardsSettings,
9595
}
96-
AppStorage.setItem(LS_PREFERENCES_KEY, storageData)
96+
// AppStorage.setItem(LS_PREFERENCES_KEY, storageData)
9797
return newState
9898
}
9999

src/stores/preferences.ts

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { persist } from 'zustand/middleware'
44
import { SelectedCard, SelectedTag, Theme, ListingMode, CardSettingsType } from '../types'
55
import { Tag } from 'src/features/remoteConfig'
66

7-
87
export type UserPreferencesState = {
98
userSelectedTags: Tag[]
109
theme: Theme
@@ -47,9 +46,10 @@ export const useUserPreferences = create(
4746
setOpenLinksNewTab: (openLinksNewTab: boolean) => set({ openLinksNewTab: openLinksNewTab }),
4847
setCards: (selectedCards: SelectedCard[]) => set({ cards: selectedCards }),
4948
setTags: (selectedTags: Tag[]) => set({ userSelectedTags: selectedTags }),
50-
initState: (newState: UserPreferencesState) => set(() => {
51-
return { ...newState }
52-
}),
49+
initState: (newState: UserPreferencesState) =>
50+
set(() => {
51+
return { ...newState }
52+
}),
5353
setCardSettings: (card: string, settings: CardSettingsType) =>
5454
set((state) => ({
5555
cardsSettings: {
@@ -61,24 +61,28 @@ export const useUserPreferences = create(
6161
{
6262
name: 'preferences_storage',
6363
onRehydrateStorage(state) {
64-
console.log('state', state)
64+
return (state, error) => {
65+
if (error) {
66+
console.log(666, 'an error happened during hydration', error)
67+
} else {
68+
console.log(666, 'hydration finished', state)
69+
}
70+
}
6571
},
66-
serialize: ({ state }) => {
67-
let stateStr = JSON.stringify({
72+
serialize: ({ state, version }) => {
73+
const newState = {
6874
...state,
6975
userSelectedTags: state.userSelectedTags.map((tag) => tag.value),
70-
})
71-
console.log(666, stateStr, 'serialize')
72-
return stateStr
76+
}
77+
return JSON.stringify({ state: newState, version })
7378
},
7479
deserialize: (stateStr) => {
75-
let state = JSON.parse(stateStr)
80+
let { state, version } = JSON.parse(stateStr)
7681
state = {
7782
...state,
7883
userSelectedTags: enhanceTags(state.userSelectedTags),
7984
}
80-
console.log(666, state, 'deserialize')
81-
return state
85+
return { state, version }
8286
},
8387
}
8488
)

src/utils/StorageMigration.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export const migrateToNewStorage = () => {
88
console.error('Here')
99
//userSelectedTags: supportedTags.filter((t) => t.value === 'javascript'),
1010

11-
console.log('preferences', preferences)
11+
1212
if (!preferences) {
1313
return
1414
}

0 commit comments

Comments
 (0)