@@ -2,26 +2,41 @@ import { WorkspacePreferences } from 'nmr-load-save';
22import { NMRiumWorkspace } from 'nmrium' ;
33import { useLayoutEffect , useState } from 'react' ;
44
5+ interface Preferences {
6+ preferences : WorkspacePreferences | undefined ;
7+ workspace : NMRiumWorkspace | undefined ;
8+ defaultEmptyMessage : string | undefined ;
9+ }
10+
11+ const DEFAULT_PREFERENCES = {
12+ preferences : undefined ,
13+ workspace : undefined ,
14+ defaultEmptyMessage : undefined ,
15+ } ;
16+
517export function usePreferences ( ) {
6- const [ configuration , setConfiguration ] = useState < {
7- preferences : WorkspacePreferences | undefined ;
8- workspace : NMRiumWorkspace | undefined ;
9- } > ( { preferences : undefined , workspace : undefined } ) ;
18+ const [ configuration , setConfiguration ] =
19+ useState < Preferences > ( DEFAULT_PREFERENCES ) ;
1020
1121 useLayoutEffect ( ( ) => {
1222 const { href } = window . location ;
1323 const parameters = new URL ( href ) . searchParams ;
1424
1525 let preferences : WorkspacePreferences | undefined ;
1626 let workspace : NMRiumWorkspace | undefined ;
27+ let defaultEmptyMessage : string | undefined ;
1728
1829 if ( parameters . has ( 'workspace' ) ) {
1930 workspace = parameters . get ( 'workspace' ) as NMRiumWorkspace ;
2031 }
2132 if ( parameters . has ( 'preferences' ) ) {
2233 preferences = JSON . parse ( parameters . get ( 'preferences' ) || '' ) ;
2334 }
24- setConfiguration ( { preferences, workspace } ) ;
35+
36+ if ( parameters . has ( 'defaultEmptyMessage' ) ) {
37+ defaultEmptyMessage = parameters . get ( 'defaultEmptyMessage' ) as string ;
38+ }
39+ setConfiguration ( { preferences, workspace, defaultEmptyMessage } ) ;
2540 } , [ ] ) ;
2641
2742 return configuration ;
0 commit comments