11<template >
22  <n-config-provider >
3-     <n-split  direction =" horizontal" :resize-trigger-size =" 8" v-model:size =" width" 
4-       <template  #1 >
5-         <editor  v-model:content =" editorStore.content" v-model:selection =" editorStore.selection" 
6-           v-model:scroll =" editorStore.scroll" :icons =" iconStore.icons" :size =" editorStore.size" 
7-       </template >
8-       <template  #2 >
9-         <scroller  v-model:scroll =" editorStore.scroll" 
10-           <BSMap  :map =" ast" :size =" editorStore.size" 
11-         </scroller >
12-       </template >
13-       <template  #resize-trigger >
14-         <div  :class =" $style.resizer" 
15-         </div >
16-       </template >
17-     </n-split >
3+     <div  :class =" $style.container" 
4+       <n-split  :class =" $style.main" direction =" horizontal" :resize-trigger-size =" 8" v-model:size =" width" 
5+         <template  #1 >
6+           <editor  v-model:content =" editorStore.content" v-model:selection =" editorStore.selection" 
7+             v-model:scroll =" editorStore.scroll" :icons =" iconStore.icons" :size =" editorStore.size" 
8+         </template >
9+         <template  #2 >
10+           <scroller  v-model:scroll =" editorStore.scroll" 
11+             <BSMap  :map =" ast" :size =" editorStore.size" 
12+           </scroller >
13+         </template >
14+         <template  #resize-trigger >
15+           <div  :class =" $style.resizer" 
16+         </template >
17+       </n-split >
18+       <app-bar >
19+         <template  #1 >
20+           <size-setter  />
21+         </template >
22+         <template  #2 >
23+         </template >
24+         <template  #3 >
25+           <icon-status  />
26+         </template >
27+       </app-bar >
28+     </div >
1829  </n-config-provider >
1930</template >
2031
@@ -33,6 +44,10 @@ import { useIconStore } from '@/stores/icon';
3344import  Scroller  from  ' ./components/Scroller.vue' 
3445import  BSMap  from  ' ./components/BSMap.vue' 
3546import  Editor  from  ' ./components/Editor.vue' 
47+ import  AppBar  from  ' ./components/AppBar.vue' 
48+ 
49+ import  SizeSetter  from  ' ./components/AppBar/SizeSetter.vue' 
50+ import  IconStatus  from  ' ./components/AppBar/IconStatus.vue' 
3651
3752const =  useEditorStore ();
3853const =  useIconStore ();
@@ -63,6 +78,17 @@ const ast = computed(() => parseMap(editorStore.content));
6378  overscroll-behavior none ; 
6479} 
6580
81+ .container  {
82+   display flex ; 
83+   flex-direction column ; 
84+   height 100vh  ; 
85+ } 
86+ 
87+ .main  {
88+   flex 1  1  auto ; 
89+   min-height 0 ; 
90+ } 
91+ 
6692.resizer  {
6793  height 100%  ; 
6894  background #cccccc ; 
0 commit comments