@@ -22,51 +22,37 @@ const settingsStore = useSettingsStore()
2222const keepAliveStore = useKeepAliveStore ()
2323const menuStore = useMenuStore ()
2424
25- // 头部当前实际高度
26- const headerActualHeight = computed (() => {
27- let actualHeight = Number .parseInt (getComputedStyle (document .documentElement ).getPropertyValue (' --g-header-height' ))
28- if ([' single' , ' side' ].includes (settingsStore .settings .menu .mode ) || settingsStore .mode === ' mobile' ) {
29- actualHeight = 0
30- }
31- return actualHeight
25+ // 头部是否隐藏
26+ const isHeaderHide = computed (() => {
27+ return [' single' , ' side' ].includes (settingsStore .settings .menu .mode ) || settingsStore .mode === ' mobile'
3228})
3329
34- // 侧边栏主导航当前实际宽度
35- const mainSidebarActualWidth = computed (() => {
36- let actualWidth = Number .parseInt (getComputedStyle (document .documentElement ).getPropertyValue (' --g-main-sidebar-width' ))
37- if (settingsStore .settings .menu .mode === ' single' || (settingsStore .settings .menu .mode === ' head' && settingsStore .mode !== ' mobile' )) {
38- actualWidth = 0
39- }
40- return actualWidth
30+ // 侧边栏主导航是否隐藏
31+ const isMainSidebarHide = computed (() => {
32+ return settingsStore .settings .menu .mode === ' single'
33+ || (settingsStore .settings .menu .mode === ' head' && settingsStore .mode !== ' mobile' )
4134})
4235
43- // 侧边栏次导航当前实际宽度
44- const subSidebarActualWidth = computed (() => {
45- let actualWidth = Number .parseInt (getComputedStyle (document .documentElement ).getPropertyValue (' --g-sub-sidebar-width' ))
46- if (settingsStore .settings .menu .subMenuCollapse && settingsStore .mode !== ' mobile' ) {
47- actualWidth = Number .parseInt (getComputedStyle (document .documentElement ).getPropertyValue (' --g-sub-sidebar-collapse-width' ))
48- }
49- if (menuStore .sidebarMenus .every (item => item .meta ?.menu === false )) {
50- actualWidth = 0
51- }
52- return actualWidth
36+ // 侧边栏次导航是否隐藏
37+ const isSubSidebarHide = computed (() => {
38+ return (settingsStore .settings .menu .subMenuCollapse && settingsStore .mode !== ' mobile' )
39+ || menuStore .sidebarMenus .every (item => item .meta ?.menu === false )
5340})
5441
55- // 顶栏当前实际高度
56- const topbarActualHeight = computed (() => {
57- let actualHeight = 0
58- if (settingsStore .settings .tabbar .enable ) {
59- actualHeight += Number .parseInt (getComputedStyle (document .documentElement ).getPropertyValue (' --g-tabbar-height' ))
60- }
61- if (settingsStore .settings .toolbar .enable && Object .keys (settingsStore .settings .toolbar ).some ((key ) => {
62- if (settingsStore .settings .app .routeBaseOn === ' filesystem' && key === ' breadcrumb' ) {
63- return false
64- }
65- return settingsStore .settings .toolbar [key as keyof typeof settingsStore .settings .toolbar ]
66- })) {
67- actualHeight += Number .parseInt (getComputedStyle (document .documentElement ).getPropertyValue (' --g-toolbar-height' ))
68- }
69- return actualHeight
42+ // 标签栏是否隐藏
43+ const isTabbarHide = computed (() => {
44+ return ! settingsStore .settings .tabbar .enable
45+ })
46+
47+ // 工具栏是否隐藏
48+ const isToolbarHide = computed (() => {
49+ return ! settingsStore .settings .toolbar .enable
50+ || ! Object .keys (settingsStore .settings .toolbar ).some ((key ) => {
51+ if (settingsStore .settings .app .routeBaseOn === ' filesystem' && key === ' breadcrumb' ) {
52+ return false
53+ }
54+ return settingsStore .settings .toolbar [key as keyof typeof settingsStore .settings .toolbar ]
55+ })
7056})
7157
7258const isLink = computed (() => !! routeInfo .meta .link )
@@ -96,10 +82,11 @@ const enableAppSetting = import.meta.env.VITE_APP_SETTING
9682<template >
9783 <div
9884 class =" layout" :style =" {
99- '--g-header-actual-height': `${headerActualHeight}px`,
100- '--g-main-sidebar-actual-width': `${mainSidebarActualWidth}px`,
101- '--g-sub-sidebar-actual-width': `${subSidebarActualWidth}px`,
102- '--g-topbar-actual-height': `${topbarActualHeight}px`,
85+ '--g-header-actual-height': isHeaderHide ? '0px' : 'var(--g-header-height)',
86+ '--g-main-sidebar-actual-width': isMainSidebarHide ? '0px' : 'var(--g-main-sidebar-width)',
87+ '--g-sub-sidebar-actual-width': isSubSidebarHide ? '0px' : (settingsStore.settings.menu.subMenuCollapse && settingsStore.mode !== 'mobile' ? 'var(--g-sub-sidebar-collapse-width)' : 'var(--g-sub-sidebar-width)'),
88+ '--g-tabbar-actual-height': isTabbarHide ? '0px' : 'var(--g-tabbar-height)',
89+ '--g-toolbar-actual-height': isToolbarHide ? '0px' : 'var(--g-toolbar-height)',
10390 }"
10491 >
10592 <div id =" app-main" >
@@ -214,7 +201,7 @@ const enableAppSetting = import.meta.env.VITE_APP_SETTING
214201 position : relative ;
215202 flex : auto ;
216203 height : 100% ;
217- margin : var (--g-topbar -actual-height ) 0 0 ;
204+ margin : calc ( var (--g-tabbar -actual-height ) + var ( --g-toolbar-actual-height ) ) 0 0 ;
218205 overflow : hidden ;
219206 }
220207 }
0 commit comments