@@ -9,20 +9,20 @@ interface ApplyOptions {
99}
1010
1111export default function useVisualEditing ( ) {
12- // Use useState for state that persists across navigation
1312 const isVisualEditingEnabled = useState ( 'visual-editing-enabled' , ( ) => false ) ;
1413 const route = useRoute ( ) ;
1514
1615 const {
1716 public : { enableVisualEditing, directusUrl } ,
1817 } = useRuntimeConfig ( ) ;
1918
20- // Check query param on composable initialization.
21- if ( route . query [ 'visual-editing' ] === 'true' && enableVisualEditing ) {
22- isVisualEditingEnabled . value = true ;
23- } else if ( route . query [ 'visual-editing' ] === 'false' ) {
24- isVisualEditingEnabled . value = false ;
25- }
19+ onMounted ( ( ) => {
20+ if ( enableVisualEditing && route . query [ 'visual-editing' ] === 'true' ) {
21+ isVisualEditingEnabled . value = true ;
22+ } else if ( route . query [ 'visual-editing' ] === 'false' ) {
23+ isVisualEditingEnabled . value = false ;
24+ }
25+ } ) ;
2626
2727 const apply = ( options : Pick < ApplyOptions , 'elements' | 'onSaved' | 'customClass' > ) => {
2828 if ( ! isVisualEditingEnabled . value ) return ;
@@ -33,7 +33,6 @@ export default function useVisualEditing() {
3333 } ) ;
3434 } ;
3535
36- // Auto-apply visual editing on mount for block components
3736 const autoApply = ( elementSelector : string , refreshCallback ?: ( ) => Promise < void > ) => {
3837 onMounted ( ( ) => {
3938 if ( ! isVisualEditingEnabled . value ) return ;
@@ -45,7 +44,7 @@ export default function useVisualEditing() {
4544 elements : el ,
4645 customClass : 'visual-editing-button-class' ,
4746 onSaved : async ( ) => {
48- if ( refreshCallback ) await refreshCallback ( ) ;
47+ await refreshCallback ?. ( ) ;
4948 await nextTick ( ) ;
5049 apply ( { elements : el } ) ;
5150 } ,
0 commit comments