feat: [planning-design] 사이드바 접기/펼치기 버튼 추가

- 좌측 패널 탭 바에 접기(<<) 버튼 추가
- 사이드바 접힘 시 좌측 가장자리에 펼치기(>) 버튼 표시
- 캔버스 작업 공간 극대화 지원
This commit is contained in:
김보곤
2026-03-08 09:08:21 +09:00
parent 280bfddbd3
commit 5e0f1a6373

View File

@@ -75,6 +75,7 @@
.pc-body {
display: flex;
flex: 1;
position: relative;
min-height: 0;
overflow: hidden;
}
@@ -101,6 +102,23 @@
transition: all 0.15s; background: none; border-top: none; border-left: none; border-right: none;
}
.pc-sidebar-tab.active { color: var(--pc-indigo); border-bottom-color: var(--pc-indigo); }
.pc-sidebar-collapse-btn {
width: 28px; height: 28px; flex-shrink: 0;
display: flex; align-items: center; justify-content: center;
background: none; border: none; color: #94a3b8; cursor: pointer;
border-radius: 4px; margin-left: auto; transition: all 0.15s;
}
.pc-sidebar-collapse-btn:hover { background: #f1f5f9; color: #475569; }
.pc-sidebar-expand-btn {
position: absolute; left: 0; top: 50%;
transform: translateY(-50%);
width: 16px; height: 48px; z-index: 50;
background: #f1f5f9; border: 1px solid #e2e8f0;
border-left: none; border-radius: 0 6px 6px 0;
display: flex; align-items: center; justify-content: center;
cursor: pointer; color: #94a3b8; transition: all 0.15s;
}
.pc-sidebar-expand-btn:hover { background: #e2e8f0; color: #475569; width: 20px; }
.pc-sidebar-panel {
flex: 1; overflow-y: auto; padding: 12px;
display: none;
@@ -1077,12 +1095,20 @@
{{-- ===== Body ===== --}}
<div class="pc-body">
{{-- Sidebar Expand Button (visible when collapsed) --}}
<button class="pc-sidebar-expand-btn" x-show="!sidebarOpen" x-cloak @click="sidebarOpen = true" title="패널 펼치기">
<svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 6 15 12 9 18"/></svg>
</button>
{{-- Left Sidebar --}}
<div class="pc-sidebar" :class="{ collapsed: !sidebarOpen }">
<div class="pc-sidebar-tabs">
<button class="pc-sidebar-tab" :class="{ active: sidebarTab === 'palette' }" @click="sidebarTab = 'palette'">노드</button>
<button class="pc-sidebar-tab" :class="{ active: sidebarTab === 'properties' }" @click="sidebarTab = 'properties'">속성</button>
<button class="pc-sidebar-tab" :class="{ active: sidebarTab === 'projects' }" @click="sidebarTab = 'projects'">프로젝트</button>
<button class="pc-sidebar-collapse-btn" @click="sidebarOpen = false" title="패널 접기">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="11 17 6 12 11 7"/><polyline points="18 17 13 12 18 7"/></svg>
</button>
</div>
{{-- Palette Panel --}}