style(fe): optimize sidebar width to 200px and collapse width to 44px with clean toggle header

This commit is contained in:
2026-08-15 21:11:06 +09:00
parent 2d8d710d0a
commit 07a9cd3373
+29 -16
View File
@@ -133,13 +133,15 @@ const sidebarClass = computed(() => ({
<aside aria-label="주요 메뉴" :class="['ks-sidebar', sidebarClass]">
<!-- Header with collapse button -->
<div class="ks-sidebar__header">
<span v-if="!collapsed" class="ks-sidebar__title">주요 메뉴</span>
<button
type="button"
class="ks-sidebar__collapse-btn"
:aria-label="collapsed ? '사이드바 펴기' : '사이드바 접기'"
:title="collapsed ? '메뉴 펼치기' : '메뉴 접기'"
:aria-label="collapsed ? '메뉴 펼치기' : '메뉴 접기'"
@click="handleToggleCollapse"
>
{{ collapsed ? '' : '' }}
{{ collapsed ? '' : '◀ 접기' }}
</button>
</div>
@@ -212,41 +214,52 @@ const sidebarClass = computed(() => ({
<style scoped>
.ks-sidebar {
width: 280px;
width: var(--ks-shell-sidebar-width, 200px);
background-color: var(--color-background-secondary);
border-right: 1px solid var(--color-border-primary);
display: flex;
flex-direction: column;
transition: width 300ms cubic-bezier(0.4, 0, 0.2, 1);
transition: width 200ms cubic-bezier(0.4, 0, 0.2, 1);
overflow-y: auto;
overflow-x: hidden;
flex-shrink: 0;
}
.ks-sidebar--collapsed {
width: 80px;
width: var(--ks-shell-sidebar-collapsed, 44px);
}
.ks-sidebar__header {
padding: var(--spacing-4);
padding: var(--ks-space-2) var(--ks-space-3);
border-bottom: 1px solid var(--color-border-primary);
display: flex;
justify-content: flex-end;
align-items: center;
justify-content: space-between;
height: 38px;
box-sizing: border-border-box;
}
.ks-sidebar__title {
font-size: var(--ks-font-caption);
font-weight: 700;
color: var(--ks-color-text-muted);
letter-spacing: 0.05em;
text-transform: uppercase;
}
.ks-sidebar__collapse-btn {
background-color: var(--color-background-primary);
border: 1px solid var(--color-border-primary);
font-size: 24px;
background-color: transparent;
border: 1px solid var(--ks-color-border);
font-size: 11px;
cursor: pointer;
color: var(--color-text-primary);
padding: var(--spacing-1);
border-radius: var(--border-radius-base);
transition: all var(--transition-base);
color: var(--ks-color-text-muted);
padding: 2px 6px;
border-radius: var(--ks-radius-sm);
transition: var(--ks-transition-fast);
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
height: 24px;
}
.ks-sidebar__collapse-btn:hover {