diff --git a/15_UI_Nifty_가이드.md b/15_UI_Nifty_가이드.md new file mode 100644 index 0000000..24b0d21 --- /dev/null +++ b/15_UI_Nifty_가이드.md @@ -0,0 +1,290 @@ +# GUARDiA ITSM — Nifty 스타일 UI 가이드 + +> 참조: https://preview.themeon.net/nifty/ +> 적용 버전: GUARDiA ITSM 2.0 + +--- + +## 1. 레이아웃 구조 + +``` +┌─────────────────────────────────────────────────────┐ +│ #topbar [로고] [검색] [알림] [사용자] [다크/라이트] │ +├──────────┬──────────────────────────────────────────┤ +│ │ #content-header (빵크럼 + 페이지 제목) │ +│ #sidebar │──────────────────────────────────────────│ +│ (250px) │ │ +│ 계층형 │ #main-content │ +│ 메뉴 │ (페이지별 뷰 컨텐츠) │ +│ │ │ +└──────────┴──────────────────────────────────────────┘ +│ #footer Copyright © 2026 GUARDiA All Rights Reserved │ +└─────────────────────────────────────────────────────┘ +``` + +--- + +## 2. 사이드바 메뉴 계층 구조 + +``` +GUARDiA ITSM +├── 📊 대시보드 +│ ├── 운영 현황 (SR/SLA/인시던트) +│ ├── 인프라 현황 (서버/CMDB) +│ ├── 보안 현황 +│ └── AI 인사이트 +│ +├── 🗂️ SR 관리 (서비스 요청) +│ ├── SR 목록 +│ ├── 칸반 보드 +│ ├── 대량 처리 +│ └── SLA 위반 현황 +│ +├── 🏗️ PMS (프로젝트 관리) ← 신규 서브메뉴 +│ ├── 프로젝트 목록 +│ ├── WBS 관리 +│ ├── 산출물 관리 +│ ├── 이슈 관리 +│ ├── 위험 관리 +│ ├── 변경 요청 +│ ├── 마일스톤 +│ └── 보고서 +│ ├── 일일 보고 +│ ├── 주간 보고 +│ └── 월간 보고 +│ +├── 🖥️ 인프라 +│ ├── CMDB +│ ├── 서버 관리 +│ └── 기관/사이트 +│ +├── 🔐 보안 +│ ├── 취약점 스캔 +│ ├── PAM (특권 접근) +│ ├── 감사 로그 +│ └── 시큐어코딩 점검 ← 신규 +│ +├── 🤖 AI 운영 +│ ├── 에이전트 현황 +│ ├── 이상 탐지 +│ ├── 예측 유지보수 +│ └── 학습 루프 +│ +├── 📡 모니터링 +│ ├── Scouter APM +│ ├── SSL 만료 +│ └── 성능 테스트 (JMeter) ← 신규 +│ +├── ⚙️ 운영 +│ ├── 배포 파이프라인 +│ ├── 배치 작업 +│ ├── On-Call 로테이션 +│ └── 작업 타임테이블 +│ +├── 📚 지식관리 +│ ├── KB 문서 +│ └── 챗봇 +│ +└── 🔧 시스템 설정 + ├── 사용자 관리 + ├── LDAP/SSO + ├── 라이선스 + └── 공공기관 체크리스트 ← 신규 +``` + +--- + +## 3. Nifty 스타일 핵심 CSS 변수 + +```css +/* 다크 테마 (기본) */ +:root[data-theme="dark"] { + --sidebar-bg: #1a1f2e; + --sidebar-hover: rgba(255,255,255,.06); + --sidebar-active: #4f8ef7; + --accent: #818cf8; + --accent-hover: #6366f1; + --surface: #1e2333; + --surface-2: #252b3b; + --border: rgba(255,255,255,.08); + --text-bright: #f1f5f9; + --text-muted: #64748b; + --topbar-bg: #141824; +} + +/* 라이트 테마 */ +:root[data-theme="light"] { + --sidebar-bg: #1e2333; /* 사이드바는 다크 유지 */ + --surface: #f8fafc; + --surface-2: #ffffff; + --border: #e2e8f0; + --text-bright: #1e293b; + --text-muted: #64748b; + --topbar-bg: #ffffff; +} +``` + +--- + +## 4. 서브메뉴 (아코디언) 구현 + +```html + + +``` + +```css +.nav-group-header { + display: flex; align-items: center; gap: 8px; + padding: 10px 16px; cursor: pointer; + color: var(--text-muted); font-size: 12px; font-weight: 600; + text-transform: uppercase; letter-spacing: .5px; +} +.nav-group-header:hover { color: var(--text-bright); } +.nav-group-body { display: none; padding: 0 0 4px 36px; } +.nav-group-body.open { display: block; } +.nav-sub-item { + display: block; padding: 7px 12px; font-size: 13px; + color: var(--text-muted); text-decoration: none; border-radius: 6px; +} +.nav-sub-item:hover, .nav-sub-item.active { + background: var(--sidebar-hover); color: var(--text-bright); +} +.nav-arrow { margin-left: auto; transition: transform .2s; } +.nav-group-header.open .nav-arrow { transform: rotate(180deg); } +``` + +--- + +## 5. 상단 탑바 구성 + +```html +
+ + + + + + + +
+ +
+ 🔔 0 +
+ +
+ + + +
+
+
+``` + +--- + +## 6. 페이지 탭 (서브페이지 내부 탭) + +```html + +
+ + + + + + +
+
+
...
+
...
+ ... +
+``` + +```css +.page-tabs { + display: flex; gap: 2px; border-bottom: 2px solid var(--border); + margin-bottom: 20px; overflow-x: auto; +} +.page-tab { + padding: 10px 20px; background: none; border: none; + color: var(--text-muted); font-size: 13px; font-weight: 600; + cursor: pointer; border-bottom: 3px solid transparent; + margin-bottom: -2px; white-space: nowrap; +} +.page-tab.active { color: var(--accent); border-bottom-color: var(--accent); } +.tab-panel { display: none; } +.tab-panel.active { display: block; } +``` + +--- + +## 7. 카드 컴포넌트 + +```html + +
+
+

📊 프로젝트 현황

+
+ +
+
+
+ +
+
+``` + +--- + +## 8. 반응형 브레이크포인트 + +| 해상도 | 사이드바 | 레이아웃 | +|--------|---------|---------| +| ≥1280px | 250px 고정 | 2열 그리드 가능 | +| 768~1280px | 60px (아이콘만) | 1열 | +| < 768px | 오버레이 (토글) | 모바일 전용 | + +--- + +## 9. 적용 우선순위 + +1. **즉시 적용**: 탑바 + 사이드바 아코디언 메뉴 (`index.html` + `style.css`) +2. **1주일 내**: PMS 서브탭 페이지 (`si.html` 확장) +3. **2주 내**: 보안/모니터링 전용 페이지 UI 통일 + +--- + +## 10. Copyright 표기 위치 + +- **사이드바 하단**: `Copyright © 2026 GUARDiA All Rights Reserved.` +- **로그인 페이지**: 로고 이미지 + Copyright +- **출력 보고서**: 모든 Excel/PDF/PPTX 하단 +- **API 응답 헤더**: `X-Powered-By: GUARDiA ITSM 2.0` + +```python +# FastAPI 미들웨어로 응답 헤더 추가 +@app.middleware("http") +async def add_copyright_header(request, call_next): + response = await call_next(request) + response.headers["X-Powered-By"] = "GUARDiA ITSM 2.0 | Copyright 2026" + return response +```