@@ -27,23 +27,23 @@ const getInitialSettings = (): RelaySettings => {
2727 return savedSettings
2828 ? JSON . parse ( savedSettings )
2929 : {
30- mode : 'smart' ,
31- protocol : [ 'WebSocket' ] ,
32- dynamicKinds : [ ] ,
33- kinds : [ ] ,
34- photos : [ ] ,
35- videos : [ ] ,
36- gitNestr : [ ] ,
37- audio : [ ] ,
38- appBuckets : [ ] ,
39- dynamicAppBuckets : [ ] ,
40- isKindsActive : true ,
41- isPhotosActive : true ,
42- isVideosActive : true ,
43- isGitNestrActive : true ,
44- isAudioActive : true ,
45- isFileStorageActive : false ,
46- } ;
30+ mode : 'smart' ,
31+ protocol : [ 'WebSocket' ] ,
32+ dynamicKinds : [ ] ,
33+ kinds : [ ] ,
34+ photos : [ ] ,
35+ videos : [ ] ,
36+ gitNestr : [ ] ,
37+ audio : [ ] ,
38+ appBuckets : [ ] ,
39+ dynamicAppBuckets : [ ] ,
40+ isKindsActive : true ,
41+ isPhotosActive : true ,
42+ isVideosActive : true ,
43+ isGitNestrActive : true ,
44+ isAudioActive : true ,
45+ isFileStorageActive : false ,
46+ } ;
4747} ;
4848
4949const useRelaySettings = ( ) => {
@@ -76,37 +76,34 @@ const useRelaySettings = () => {
7676
7777 const data = await response . json ( ) ;
7878
79- const storedAppBuckets = JSON . parse ( localStorage . getItem ( 'appBuckets' ) || '[]' ) ;
80- const storedDynamicKinds = JSON . parse ( localStorage . getItem ( 'dynamicKinds' ) || '[]' ) ;
79+ // Handle app buckets
80+ const backendAppBuckets = data . relay_settings . appBuckets || [ ] ;
81+ const backendDynamicAppBuckets = data . relay_settings . dynamicAppBuckets || [ ] ;
8182
82- const newAppBuckets =
83- data . relay_settings . dynamicAppBuckets == undefined
84- ? [ ]
85- : data . relay_settings . dynamicAppBuckets . filter ( ( bucket : string ) => ! storedAppBuckets . includes ( bucket ) ) ;
86- const newDynamicKinds =
87- data . relay_settings . dynamicKinds == undefined
88- ? [ ]
89- : data . relay_settings . dynamicKinds . filter ( ( kind : string ) => ! storedDynamicKinds . includes ( kind ) ) ;
90-
91- if ( newAppBuckets . length > 0 ) {
92- localStorage . setItem ( 'appBuckets' , JSON . stringify ( [ ...storedAppBuckets , ...newAppBuckets ] ) ) ;
93- }
94- if ( newDynamicKinds . length > 0 ) {
95- localStorage . setItem ( 'dynamicKinds' , JSON . stringify ( [ ...storedDynamicKinds , ...newDynamicKinds ] ) ) ;
96- }
9783 setRelaySettings ( {
9884 ...data . relay_settings ,
9985 protocol : Array . isArray ( data . relay_settings . protocol )
10086 ? data . relay_settings . protocol
10187 : [ data . relay_settings . protocol ] ,
88+ appBuckets : backendAppBuckets ,
89+ dynamicAppBuckets : backendDynamicAppBuckets ,
10290 } ) ;
103- localStorage . setItem ( 'relaySettings' , JSON . stringify ( data . relay_settings ) ) ;
91+
92+ localStorage . setItem ( 'relaySettings' , JSON . stringify ( {
93+ ...data . relay_settings ,
94+ appBuckets : backendAppBuckets ,
95+ dynamicAppBuckets : backendDynamicAppBuckets ,
96+ } ) ) ;
97+
98+ // Update localStorage for dynamicAppBuckets only
99+ localStorage . setItem ( 'dynamicAppBuckets' , JSON . stringify ( backendDynamicAppBuckets ) ) ;
104100 } catch ( error ) {
105101 console . error ( 'Error fetching settings:' , error ) ;
106102 }
107103 } , [ ] ) ;
108104
109- const updateSettings = useCallback ( ( category : keyof RelaySettings , value : string | string [ ] | boolean | number ) => {
105+
106+ const updateSettings = useCallback ( ( category : keyof RelaySettings , value : any ) => {
110107 setRelaySettings ( ( prevSettings ) => ( {
111108 ...prevSettings ,
112109 [ category ] : value ,
0 commit comments