@@ -8,6 +8,7 @@ interface URLParamsState {
88 view : View ;
99 sidebarHidden : boolean ;
1010 featureSelectionDisabled : boolean ;
11+ viewSelectionDisabled : boolean ;
1112 pickerDisabled : boolean ;
1213 file ?: string ;
1314}
@@ -16,6 +17,7 @@ interface URLParamsContextType extends URLParamsState {
1617 setView : ( view : View ) => void ;
1718 setSidebarHidden : ( disabled : boolean ) => void ;
1819 setFeatureSelectionDisabled : ( disabled : boolean ) => void ;
20+ setViewSelectionDisabled : ( disabled : boolean ) => void ;
1921 setPickerDisabled : ( disabled : boolean ) => void ;
2022 setCodeFile : ( fileName : string ) => void ;
2123}
@@ -35,6 +37,7 @@ export function URLParamsProvider({ children }: URLParamsProviderProps) {
3537 const [ state , setState ] = useState < URLParamsState > ( ( ) => ( {
3638 view : ( searchParams . get ( "view" ) as View ) || "preview" ,
3739 sidebarHidden : searchParams . get ( "sidebar" ) === "disabled" ,
40+ viewSelectionDisabled : searchParams . get ( "viewSelection" ) === "false" ,
3841 pickerDisabled : searchParams . get ( "picker" ) === "false" ,
3942 featureSelectionDisabled : searchParams . get ( "features" ) === "false" ,
4043 } ) ) ;
@@ -61,6 +64,14 @@ export function URLParamsProvider({ children }: URLParamsProviderProps) {
6164 }
6265 }
6366
67+ // Update viewSelection param
68+ if ( newState . viewSelectionDisabled !== undefined ) {
69+ if ( newState . viewSelectionDisabled ) {
70+ params . set ( "viewSelection" , "false" ) ;
71+ } else {
72+ params . delete ( "viewSelection" ) ;
73+ }
74+ }
6475 // Update features param
6576 if ( newState . featureSelectionDisabled !== undefined ) {
6677 if ( newState . featureSelectionDisabled ) {
@@ -90,6 +101,7 @@ export function URLParamsProvider({ children }: URLParamsProviderProps) {
90101 sidebarHidden : searchParams . get ( "sidebar" ) === "disabled" ,
91102 pickerDisabled : searchParams . get ( "picker" ) === "false" ,
92103 featureSelectionDisabled : searchParams . get ( "features" ) === "false" ,
104+ viewSelectionDisabled : searchParams . get ( "viewSelection" ) === "false" ,
93105 } ;
94106
95107 setState ( newState ) ;
@@ -120,6 +132,12 @@ export function URLParamsProvider({ children }: URLParamsProviderProps) {
120132 updateURL ( { featureSelectionDisabled } ) ;
121133 } ;
122134
135+ const setViewSelectionDisabled = ( viewSelectionDisabled : boolean ) => {
136+ const newState = { ...state , viewSelectionDisabled } ;
137+ setState ( newState ) ;
138+ updateURL ( { viewSelectionDisabled } ) ;
139+ } ;
140+
123141 const setCodeFile = ( fileName : string ) => {
124142 const newState = { ...state , file : fileName } ;
125143 setState ( newState ) ;
@@ -132,6 +150,7 @@ export function URLParamsProvider({ children }: URLParamsProviderProps) {
132150 setSidebarHidden,
133151 setPickerDisabled,
134152 setFeatureSelectionDisabled,
153+ setViewSelectionDisabled,
135154 setCodeFile,
136155 } ;
137156
0 commit comments