## 주요 변경사항 ### 1. Design System 색상 업데이트 - 하늘색 계열 primary 색상으로 변경 (#0ea5e9, #38bdf8, #7dd3fc) - CSS 변수 추가: --header-gradient ### 2. Navbar 컴포넌트 표준화 - 50개 이상의 하드코딩 값을 CSS 변수로 변경 - 모든 페이지에서 동일한 헤더 스타일 적용 ### 3. 중복 코드 제거 (102줄) - dashboard.html: 50줄 → 2줄 (navbar 컴포넌트로 교체) - work/report-view.html: 54줄 → 2줄 (navbar 컴포넌트로 교체) - modern-dashboard.css: 중복 헤더 스타일 제거 - project-management.css: 중복 헤더 스타일 제거 ### 4. 표준 레이아웃 템플릿 생성 - dashboard-layout.html (대시보드용) - work-layout.html (작업 페이지용) - admin-layout.html (관리자 페이지용) - simple-layout.html (프로필/설정용) - templates/README.md (사용 가이드) ### 5. 누락된 design-system.css 추가 - work/report-view.html - work/analysis.html - admin/accounts.html ### 6. ES6 Module 문법 수정 - load-navbar.js: type="module" 추가 - modern-dashboard.js: navbar 엘리먼트 안전 처리 ## 문서 업데이트 - CODING_GUIDE.md: 표준 컴포넌트 사용법 추가 - 개발 log/2026-01-20-ui-standardization-phase1.md: 상세 작업 로그 ## 영향 - 수정: 10개 파일 - 신규: 6개 파일 (템플릿 5개 + 로그 1개) - 코드 감소: -102줄 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
154 lines
5.0 KiB
HTML
154 lines
5.0 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="ko">
|
||
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>관리자 | 테크니컬코리아</title>
|
||
|
||
<!-- 모던 디자인 시스템 -->
|
||
<link rel="stylesheet" href="/css/design-system.css">
|
||
<link rel="stylesheet" href="/css/common.css">
|
||
<link rel="stylesheet" href="/css/modern-dashboard.css">
|
||
<!-- 페이지별 CSS 추가 -->
|
||
<!-- <link rel="stylesheet" href="/css/your-admin-page.css"> -->
|
||
|
||
<!-- 필수 스크립트 (순서 중요) -->
|
||
<script type="module" src="/js/api-config.js"></script>
|
||
<script type="module" src="/js/auth-check.js"></script>
|
||
<script type="module" src="/js/load-navbar.js"></script>
|
||
|
||
<!-- 페이지별 스크립트 추가 -->
|
||
<!-- <script type="module" src="/js/your-admin-page.js" defer></script> -->
|
||
</head>
|
||
|
||
<body>
|
||
<!-- 네비게이션 헤더 (자동 로드됨) -->
|
||
<div id="navbar-container"></div>
|
||
|
||
<!-- 메인 콘텐츠 -->
|
||
<main class="dashboard-main">
|
||
<div class="admin-page-container">
|
||
|
||
<!-- 페이지 헤더 -->
|
||
<div class="page-header">
|
||
<div class="page-header-left">
|
||
<button class="btn btn-secondary" onclick="history.back()">
|
||
<span>←</span>
|
||
뒤로
|
||
</button>
|
||
</div>
|
||
<div class="page-header-center">
|
||
<h2 class="page-title">⚙️ 관리 페이지</h2>
|
||
<p class="page-subtitle">시스템 설정 및 데이터 관리</p>
|
||
</div>
|
||
<div class="page-header-right">
|
||
<!-- 추가 액션 버튼 -->
|
||
<button class="btn btn-primary">
|
||
<span>➕</span>
|
||
추가
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 관리 콘텐츠 카드 -->
|
||
<div class="admin-card">
|
||
<!-- 탭 네비게이션 (선택사항) -->
|
||
<div class="tab-navigation">
|
||
<button class="tab-btn active" data-tab="tab1">탭 1</button>
|
||
<button class="tab-btn" data-tab="tab2">탭 2</button>
|
||
<button class="tab-btn" data-tab="tab3">탭 3</button>
|
||
</div>
|
||
|
||
<!-- 검색/필터 영역 -->
|
||
<div class="admin-filters">
|
||
<div class="filter-group">
|
||
<label class="filter-label">검색</label>
|
||
<input type="text" class="filter-input" placeholder="검색어 입력">
|
||
</div>
|
||
<div class="filter-group">
|
||
<label class="filter-label">상태</label>
|
||
<select class="filter-select">
|
||
<option value="all">전체</option>
|
||
<option value="active">활성</option>
|
||
<option value="inactive">비활성</option>
|
||
</select>
|
||
</div>
|
||
<button class="btn btn-primary">
|
||
<span>🔍</span>
|
||
검색
|
||
</button>
|
||
</div>
|
||
|
||
<!-- 데이터 테이블 영역 -->
|
||
<div class="admin-table-container">
|
||
<table class="admin-table">
|
||
<thead>
|
||
<tr>
|
||
<th>
|
||
<input type="checkbox" id="selectAll">
|
||
</th>
|
||
<th>ID</th>
|
||
<th>이름</th>
|
||
<th>상태</th>
|
||
<th>등록일</th>
|
||
<th>작업</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="tableBody">
|
||
<!-- 데이터 행들이 동적으로 추가됩니다 -->
|
||
<tr>
|
||
<td><input type="checkbox"></td>
|
||
<td>1</td>
|
||
<td>샘플 데이터</td>
|
||
<td><span class="badge badge-success">활성</span></td>
|
||
<td>2025-01-20</td>
|
||
<td>
|
||
<button class="btn btn-sm btn-secondary">수정</button>
|
||
<button class="btn btn-sm btn-error">삭제</button>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<!-- 페이지네이션 (선택사항) -->
|
||
<div class="pagination">
|
||
<button class="pagination-btn" disabled>이전</button>
|
||
<span class="pagination-info">1 / 10</span>
|
||
<button class="pagination-btn">다음</button>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</main>
|
||
|
||
<!-- 로딩 스피너 -->
|
||
<div id="loadingSpinner" class="loading-overlay" style="display: none;">
|
||
<div class="loading-content">
|
||
<div class="spinner"></div>
|
||
<p>처리 중...</p>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 확인 모달 -->
|
||
<div id="confirmModal" class="modal-overlay" style="display: none;">
|
||
<div class="modal-container">
|
||
<div class="modal-header">
|
||
<h2 id="confirmModalTitle">확인</h2>
|
||
<button class="modal-close-btn" onclick="closeConfirmModal()">×</button>
|
||
</div>
|
||
<div class="modal-body">
|
||
<p id="confirmModalMessage">작업을 진행하시겠습니까?</p>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button class="btn btn-secondary" onclick="closeConfirmModal()">취소</button>
|
||
<button class="btn btn-primary" id="confirmModalBtn">확인</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</body>
|
||
|
||
</html>
|