update
This commit is contained in:
@@ -602,56 +602,74 @@ onMounted(() => {
|
||||
<div ref="leftSidebarPanelRef" :class="['sidebar-panel', 'left-sidebar-panel', { active: !!activeLeftSidebarPane }]" :style="{ width: getSidebarPaneWidth(activeLeftSidebarPane) }"> <!-- +++ Use getter for width +++ -->
|
||||
<div ref="leftResizeHandleRef" class="resize-handle left-handle"></div> <!-- +++ Left Handle +++ -->
|
||||
<button class="close-sidebar-btn" @click="closeSidebars" title="Close Sidebar">×</button>
|
||||
<component
|
||||
v-if="currentLeftSidebarComponent && activeLeftSidebarPane && (!['fileManager', 'statusMonitor'].includes(activeLeftSidebarPane) || activeSession)"
|
||||
:is="currentLeftSidebarComponent"
|
||||
:key="`left-panel-${activeLeftSidebarPane ?? 'null'}`"
|
||||
v-bind="sidebarProps(activeLeftSidebarPane, 'left')">
|
||||
</component>
|
||||
<!-- Placeholder if FileManager is selected but no active session -->
|
||||
<div v-else-if="activeLeftSidebarPane === 'fileManager' && !activeSession" class="sidebar-pane-content pane-placeholder empty-session">
|
||||
<div class="empty-session-content">
|
||||
<i class="fas fa-plug"></i>
|
||||
<span>无活动会话</span>
|
||||
<div class="empty-session-tip">文件管理器需要活动会话</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Placeholder if StatusMonitor is selected but no active session -->
|
||||
<div v-else-if="activeLeftSidebarPane === 'statusMonitor' && !activeSession" class="sidebar-pane-content pane-placeholder empty-session">
|
||||
<div class="empty-session-content">
|
||||
<i class="fas fa-plug"></i>
|
||||
<span>无活动会话</span>
|
||||
<div class="empty-session-tip">状态监视器需要活动会话</div>
|
||||
</div>
|
||||
</div>
|
||||
<KeepAlive>
|
||||
<div :key="`left-sidebar-content-${activeLeftSidebarPane ?? 'none'}`" class="sidebar-content-wrapper">
|
||||
<!-- Component rendering -->
|
||||
<component
|
||||
v-if="currentLeftSidebarComponent && activeLeftSidebarPane && (!['fileManager', 'statusMonitor'].includes(activeLeftSidebarPane) || activeSession)"
|
||||
:is="currentLeftSidebarComponent"
|
||||
:key="`left-comp-${activeLeftSidebarPane}`"
|
||||
v-bind="sidebarProps(activeLeftSidebarPane, 'left')">
|
||||
</component>
|
||||
<!-- Placeholder for FileManager -->
|
||||
<div v-else-if="activeLeftSidebarPane === 'fileManager' && !activeSession" class="sidebar-pane-content pane-placeholder empty-session">
|
||||
<div class="empty-session-content">
|
||||
<i class="fas fa-plug"></i>
|
||||
<span>无活动会话</span>
|
||||
<div class="empty-session-tip">文件管理器需要活动会话</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Placeholder for StatusMonitor -->
|
||||
<div v-else-if="activeLeftSidebarPane === 'statusMonitor' && !activeSession" class="sidebar-pane-content pane-placeholder empty-session">
|
||||
<div class="empty-session-content">
|
||||
<i class="fas fa-plug"></i>
|
||||
<span>无活动会话</span>
|
||||
<div class="empty-session-tip">状态监视器需要活动会话</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Placeholder for when no pane is active or other conditions fail -->
|
||||
<div v-else class="sidebar-pane-content">
|
||||
<!-- Optional: Add a generic placeholder message -->
|
||||
</div>
|
||||
</div>
|
||||
</KeepAlive>
|
||||
</div>
|
||||
|
||||
<!-- Right Sidebar Panel -->
|
||||
<div ref="rightSidebarPanelRef" :class="['sidebar-panel', 'right-sidebar-panel', { active: !!activeRightSidebarPane }]" :style="{ width: getSidebarPaneWidth(activeRightSidebarPane) }"> <!-- +++ Use getter for width +++ -->
|
||||
<div ref="rightResizeHandleRef" class="resize-handle right-handle"></div> <!-- +++ Right Handle +++ -->
|
||||
<button class="close-sidebar-btn" @click="closeSidebars" title="Close Sidebar">×</button>
|
||||
<component
|
||||
v-if="currentRightSidebarComponent && activeRightSidebarPane && (!['fileManager', 'statusMonitor'].includes(activeRightSidebarPane) || activeSession)"
|
||||
:is="currentRightSidebarComponent"
|
||||
:key="`right-panel-${activeRightSidebarPane ?? 'null'}`"
|
||||
v-bind="sidebarProps(activeRightSidebarPane, 'right')">
|
||||
</component>
|
||||
<!-- Placeholder if FileManager is selected but no active session -->
|
||||
<div v-else-if="activeRightSidebarPane === 'fileManager' && !activeSession" class="sidebar-pane-content pane-placeholder empty-session">
|
||||
<div class="empty-session-content">
|
||||
<i class="fas fa-plug"></i>
|
||||
<span>无活动会话</span>
|
||||
<div class="empty-session-tip">文件管理器需要活动会话</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Placeholder if StatusMonitor is selected but no active session -->
|
||||
<div v-else-if="activeRightSidebarPane === 'statusMonitor' && !activeSession" class="sidebar-pane-content pane-placeholder empty-session">
|
||||
<div class="empty-session-content">
|
||||
<i class="fas fa-plug"></i>
|
||||
<span>无活动会话</span>
|
||||
<div class="empty-session-tip">状态监视器需要活动会话</div>
|
||||
</div>
|
||||
</div>
|
||||
<KeepAlive>
|
||||
<div :key="`right-sidebar-content-${activeRightSidebarPane ?? 'none'}`" class="sidebar-content-wrapper">
|
||||
<!-- Component rendering -->
|
||||
<component
|
||||
v-if="currentRightSidebarComponent && activeRightSidebarPane && (!['fileManager', 'statusMonitor'].includes(activeRightSidebarPane) || activeSession)"
|
||||
:is="currentRightSidebarComponent"
|
||||
:key="`right-comp-${activeRightSidebarPane}`"
|
||||
v-bind="sidebarProps(activeRightSidebarPane, 'right')">
|
||||
</component>
|
||||
<!-- Placeholder for FileManager -->
|
||||
<div v-else-if="activeRightSidebarPane === 'fileManager' && !activeSession" class="sidebar-pane-content pane-placeholder empty-session">
|
||||
<div class="empty-session-content">
|
||||
<i class="fas fa-plug"></i>
|
||||
<span>无活动会话</span>
|
||||
<div class="empty-session-tip">文件管理器需要活动会话</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Placeholder for StatusMonitor -->
|
||||
<div v-else-if="activeRightSidebarPane === 'statusMonitor' && !activeSession" class="sidebar-pane-content pane-placeholder empty-session">
|
||||
<div class="empty-session-content">
|
||||
<i class="fas fa-plug"></i>
|
||||
<span>无活动会话</span>
|
||||
<div class="empty-session-tip">状态监视器需要活动会话</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Placeholder for when no pane is active or other conditions fail -->
|
||||
<div v-else class="sidebar-pane-content">
|
||||
<!-- Optional: Add a generic placeholder message -->
|
||||
</div>
|
||||
</div>
|
||||
</KeepAlive>
|
||||
</div>
|
||||
|
||||
<!-- Right Sidebar Buttons (Only render if root) -->
|
||||
|
||||
Reference in New Issue
Block a user