11import create from 'zustand' ;
22import { persist } from 'zustand/middleware'
3- import { RemoteConfig , Tag , MarketingBannerConfig } from "../types" ;
3+ import { RemoteConfig , Tag } from "../types" ;
44
5- type ChangelogVersionStore = {
5+ type RemoteConfigStore = {
66 supportedTags : Tag [ ] ;
7- refresh_rate : number | false ;
8- marketingBannerConfig ?: MarketingBannerConfig ;
7+ marketingBannerConfig ?: any ;
98 setRemoteConfig : ( remoteConfig : RemoteConfig ) => void ;
109} ;
1110
12- export const useRemoteConfigStore = create ( persist < ChangelogVersionStore > ( ( set ) => ( {
11+ export const useRemoteConfigStore = create ( persist < RemoteConfigStore > ( ( set ) => ( {
1312 marketingBannerConfig : undefined ,
14- refresh_rate : false ,
1513 supportedTags : [
1614 {
1715 value : 'javascript' ,
@@ -27,8 +25,17 @@ export const useRemoteConfigStore = create(persist<ChangelogVersionStore>((set)
2725 ] ,
2826 setRemoteConfig : ( remoteConfig : RemoteConfig ) =>
2927 set ( ( ) => {
30- return { ...remoteConfig }
28+ const { marketingBannerConfig, ...otherConfigs } = remoteConfig
29+ return { ...otherConfigs }
3130 } ) ,
3231} ) , {
3332 name : 'remote_config_storage' ,
33+ version : 1 ,
34+ migrate ( persistedState , version ) {
35+ const newState = persistedState as RemoteConfigStore ;
36+ if ( version === 0 ) {
37+ delete newState . marketingBannerConfig
38+ }
39+ return newState ;
40+ } ,
3441} ) ) ;
0 commit comments