mirror of
https://github.com/sotam0316/brain_dogfood.git
synced 2026-04-24 19:48:35 +09:00
178 lines
5.3 KiB
CSS
178 lines
5.3 KiB
CSS
.sidebar {
|
|
width: var(--sidebar-width);
|
|
height: 100vh;
|
|
background: var(--sidebar);
|
|
backdrop-filter: blur(10px);
|
|
border-right: 1px solid rgba(255,255,255,0.05);
|
|
padding: 2rem 1.2rem;
|
|
display: flex;
|
|
flex-direction: column;
|
|
transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s ease;
|
|
flex-shrink: 0;
|
|
overflow: hidden; /* 전체 스크롤을 막고 내부 스크롤 활성화 */
|
|
}
|
|
|
|
.sidebar-content {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
margin: 0 -0.5rem; /* 스크롤바 공간 확보를 위해 패딩 살짝 조정 */
|
|
padding: 0 0.5rem;
|
|
}
|
|
|
|
/* Custom Scrollbar for Sidebar */
|
|
.sidebar-content::-webkit-scrollbar {
|
|
width: 4px;
|
|
}
|
|
|
|
.sidebar-content::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
|
|
.sidebar-content::-webkit-scrollbar-thumb {
|
|
background: rgba(255, 255, 255, 0.1);
|
|
border-radius: 10px;
|
|
}
|
|
|
|
.sidebar-content::-webkit-scrollbar-thumb:hover {
|
|
background: rgba(56, 189, 248, 0.3);
|
|
}
|
|
|
|
.sidebar-header { margin-bottom: 2.5rem; white-space: nowrap; overflow: hidden; }
|
|
|
|
.logo {
|
|
font-size: 1.3rem;
|
|
font-weight: 800;
|
|
background: linear-gradient(135deg, #38bdf8, #8b5cf6);
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
transition: opacity 0.2s;
|
|
}
|
|
|
|
.sidebar-toggle {
|
|
background: none; border: none; color: var(--muted); font-size: 1.2rem; cursor: pointer;
|
|
padding: 5px; border-radius: 4px; transition: background 0.2s, color 0.2s;
|
|
}
|
|
|
|
.sidebar-toggle:hover { background: rgba(255,255,255,0.05); color: var(--text); }
|
|
|
|
/* Navigation List */
|
|
.nav { list-style: none; display: flex; flex-direction: column; gap: 0; }
|
|
|
|
.nav li {
|
|
padding: 0.25rem 0.8rem;
|
|
border-radius: 4px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all 0.1s ease;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.6rem;
|
|
color: var(--muted);
|
|
font-size: 0.85rem;
|
|
margin: 0;
|
|
border-top: 1px solid transparent;
|
|
}
|
|
|
|
.nav li:hover { background: rgba(255,255,255,0.05); color: var(--text); }
|
|
.nav li.active { background: rgba(56, 189, 248, 0.15); color: var(--accent); }
|
|
|
|
/* Navigation Dividers */
|
|
.nav li:not(.sub-item):not(:first-child) {
|
|
border-top: 1px solid rgba(255, 255, 255, 0.05);
|
|
margin-top: 0.2rem;
|
|
padding-top: 0.4rem;
|
|
}
|
|
|
|
.section-title {
|
|
font-size: 0.7rem;
|
|
font-weight: 800;
|
|
color: rgba(255,255,255,0.25);
|
|
margin: 0.8rem 0 0.2rem 0.8rem;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05rem;
|
|
list-style: none;
|
|
border-top: 1px solid rgba(255, 255, 255, 0.05);
|
|
padding-top: 0.5rem;
|
|
}
|
|
|
|
.sub-item { padding-left: 2.2rem !important; border-top: none !important; margin-top: 0 !important; }
|
|
|
|
/* Sidebar Footer */
|
|
.sidebar-footer {
|
|
display: flex;
|
|
gap: 8px;
|
|
margin-top: auto;
|
|
padding-top: 20px;
|
|
border-top: 1px solid rgba(255,255,255,0.05);
|
|
}
|
|
|
|
.sidebar-footer .action-btn { flex: 1; padding: 10px !important; }
|
|
|
|
#settingsBtn {
|
|
flex: 0 0 45px !important;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
padding: 0 !important;
|
|
font-size: 1.1rem;
|
|
}
|
|
|
|
/* Collapsed State (Desktop) */
|
|
.sidebar.collapsed { width: var(--sidebar-collapsed-width); padding: 2rem 0.5rem; }
|
|
.sidebar.collapsed .text { display: none !important; }
|
|
.sidebar.collapsed .logo { width: auto; margin-right: 0; }
|
|
.sidebar.collapsed .nav li { padding: 0.8rem 0; justify-content: center; background: none !important; border: none !important; }
|
|
.sidebar.collapsed .nav li.active { color: var(--accent); }
|
|
.sidebar.collapsed .nav li .icon { font-size: 1.2rem; margin: 0; }
|
|
.sidebar.collapsed .section-title { padding: 0.5rem 0; text-align: center; border-top: 1px solid rgba(255,255,255,0.05); height: 1px; overflow: hidden; }
|
|
.sidebar.collapsed .sub-item { padding-left: 0 !important; }
|
|
|
|
/* Hide redundant sections in collapsed state */
|
|
.sidebar.collapsed .sidebar-section:has(#calendarHeader),
|
|
.sidebar.collapsed .sidebar-section:has(#heatmapContainer),
|
|
.sidebar.collapsed #calendarHeader,
|
|
.sidebar.collapsed #calendarContainer,
|
|
.sidebar.collapsed #heatmapContainer {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Remove boxes from buttons in collapsed state */
|
|
.sidebar.collapsed .action-btn {
|
|
background: none !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
justify-content: center !important;
|
|
padding: 10px 0 !important;
|
|
}
|
|
|
|
.sidebar.collapsed .sidebar-footer { padding: 10px 0; justify-content: center; display: flex; flex-direction: column; align-items: center; border-top: 1px solid rgba(255,255,255,0.05);}
|
|
.sidebar.collapsed #logoutBtn { padding: 8px !important; justify-content: center; }
|
|
.sidebar.collapsed #settingsBtn { background: none !important; border: none !important; }
|
|
|
|
/* Tooltips for Collapsed Sidebar */
|
|
.sidebar.collapsed [data-tooltip] { position: relative; }
|
|
.sidebar.collapsed [data-tooltip]::after {
|
|
content: attr(data-tooltip);
|
|
position: absolute;
|
|
left: 80px;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
background: rgba(15, 23, 42, 0.9);
|
|
color: white;
|
|
padding: 6px 12px;
|
|
border-radius: 6px;
|
|
font-size: 0.8rem;
|
|
white-space: nowrap;
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
transition: all 0.2s ease;
|
|
z-index: 1000;
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
}
|
|
.sidebar.collapsed [data-tooltip]:hover::after {
|
|
opacity: 1;
|
|
left: 70px;
|
|
}
|