diff --git a/design/uiux/prototype/02-대시보드.html b/design/uiux/prototype/02-대시보드.html
index 991a7c7..b12d73a 100644
--- a/design/uiux/prototype/02-대시보드.html
+++ b/design/uiux/prototype/02-대시보드.html
@@ -307,16 +307,19 @@
font-weight: var(--font-weight-medium);
}
- /* 회의록 리스트 - Todo 카드와 동일한 스타일 */
+ /* 회의록 리스트 - 그리드 형태 */
.minutes-list {
- background: var(--white);
- border-radius: var(--radius-lg);
- padding: var(--space-md);
- box-shadow: var(--shadow-sm);
+ display: grid;
+ grid-template-columns: 1fr;
+ gap: var(--space-md);
margin-bottom: var(--space-xl);
- display: flex;
- flex-direction: column;
- gap: var(--space-sm);
+ }
+
+ /* 데스크톱에서 2x2 그리드 */
+ @media (min-width: 768px) {
+ .minutes-list {
+ grid-template-columns: repeat(2, 1fr);
+ }
}
/* 회의록 카드 스타일 */
@@ -347,7 +350,11 @@
font-weight: var(--font-weight-medium);
color: var(--gray-900);
font-size: var(--font-base);
- flex-shrink: 0;
+ flex: 1;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ min-width: 0;
}
.minutes-card-meta {
@@ -819,7 +826,7 @@
const myMinutes = SAMPLE_MINUTES
.filter(m => m.participants.some(p => p.id === currentUser.id)) // 참여자 또는 생성자 모두 포함
.sort((a, b) => new Date(b.date + ' ' + b.time) - new Date(a.date + ' ' + a.time)) // 최신순 정렬
- .slice(0, 3); // 상위 3개만 표시
+ .slice(0, 4); // 상위 4개만 표시
if (myMinutes.length === 0) {
container.innerHTML = '
';
@@ -838,11 +845,9 @@
return `
📅 ${formatDate(minutes.date)} ${formatTime(minutes.time)}
diff --git a/design/uiux/prototype/12-회의록목록조회.html b/design/uiux/prototype/12-회의록목록조회.html
index c96dc11..b48e26a 100644
--- a/design/uiux/prototype/12-회의록목록조회.html
+++ b/design/uiux/prototype/12-회의록목록조회.html
@@ -95,23 +95,49 @@
margin-bottom: var(--space-lg);
}
- .filter-grid {
- display: grid;
- grid-template-columns: 1fr 1fr;
+ /* 필터 컨테이너 */
+ .filter-container {
+ display: flex;
+ flex-direction: column;
gap: var(--space-md);
- margin-bottom: var(--space-md);
}
- /* 반응형: 필터 그리드 */
- @media (min-width: 640px) {
- .filter-grid {
- grid-template-columns: repeat(3, 1fr);
+ /* 모바일: 정렬 + 참여유형을 한 줄로 */
+ .filter-top-row {
+ display: flex;
+ gap: var(--space-md);
+ align-items: center;
+ }
+
+ .filter-grid {
+ flex: 0 0 auto;
+ min-width: 140px;
+ }
+
+ /* 데스크톱: 한 줄 레이아웃 */
+ @media (min-width: 768px) {
+ .filter-section {
+ padding: var(--space-lg);
+ }
+
+ .filter-container {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ gap: var(--space-md);
+ }
+
+ .filter-top-row {
+ display: contents; /* 데스크톱에서는 래퍼 무시 */
}
- }
- @media (min-width: 1024px) {
.filter-grid {
- grid-template-columns: repeat(4, 1fr);
+ flex: 0 0 auto;
+ min-width: 140px;
+ }
+
+ .filter-label {
+ display: none;
}
}
@@ -148,10 +174,15 @@
.participation-tabs {
display: flex;
gap: var(--space-sm);
- margin-bottom: var(--space-md);
overflow-x: auto;
}
+ @media (min-width: 768px) {
+ .participation-tabs {
+ flex: 0 0 auto;
+ }
+ }
+
.participation-tab {
padding: 8px 16px;
border: 1px solid var(--gray-300);
@@ -172,22 +203,24 @@
/* 검색 영역 */
.search-wrapper {
- position: relative;
- margin-bottom: var(--space-md);
+ display: flex;
+ gap: var(--space-sm);
}
- .search-icon {
- position: absolute;
- left: 12px;
- top: 50%;
- transform: translateY(-50%);
- font-size: 20px;
- color: var(--gray-500);
+ @media (min-width: 768px) {
+ .search-wrapper {
+ flex: 1;
+ }
+ }
+
+ .search-input-wrapper {
+ position: relative;
+ flex: 1;
}
.search-input {
width: 100%;
- padding: 12px 16px 12px 40px;
+ padding: 12px 16px;
border: 1px solid var(--gray-300);
border-radius: var(--radius-md);
font-size: var(--font-body);
@@ -201,110 +234,127 @@
box-shadow: 0 0 0 3px rgba(77, 213, 167, 0.1);
}
- /* 통계 정보 - 컴팩트하게 */
- .stats-section {
- background: var(--white);
- border-radius: var(--radius-lg);
- box-shadow: var(--shadow-sm);
- padding: var(--space-md);
- margin-bottom: var(--space-lg);
- }
-
- /* common.css의 stats-grid 스타일 활용 */
- .stat-item {
- text-align: center;
- padding: var(--space-md);
- background: var(--gray-50);
+ .search-btn {
+ padding: 12px 20px;
+ background: var(--primary);
+ color: var(--white);
+ border: none;
border-radius: var(--radius-md);
- min-height: 80px;
+ font-size: var(--font-body);
+ font-weight: var(--font-weight-semibold);
+ cursor: pointer;
+ transition: background var(--transition-fast);
+ white-space: nowrap;
+ flex-shrink: 0;
+ }
+
+ .search-btn:hover {
+ background: var(--primary-dark);
+ }
+
+ .search-btn:active {
+ transform: scale(0.98);
+ }
+
+ /* 상태 필터 탭 (09-Todo관리 스타일) */
+ .status-filter-tabs {
display: flex;
- flex-direction: column;
- justify-content: center;
+ gap: var(--space-sm);
+ margin-bottom: var(--space-lg);
+ overflow-x: auto;
+ padding-bottom: var(--space-sm);
}
- .stat-value {
- font-size: var(--font-h2);
- font-weight: var(--font-weight-bold);
- color: var(--primary);
- margin-bottom: var(--space-xs);
- }
-
- .stat-label {
+ .status-filter-tab {
+ padding: 8px 16px;
+ background: var(--white);
+ border: 1px solid var(--gray-300);
+ border-radius: 20px;
font-size: var(--font-small);
- color: var(--gray-600);
+ font-weight: var(--font-weight-medium);
+ color: var(--gray-700);
+ cursor: pointer;
+ white-space: nowrap;
+ transition: all var(--transition-fast);
}
- /* 회의록 목록 */
+ .status-filter-tab.active {
+ background: var(--primary);
+ color: var(--white);
+ border-color: var(--primary);
+ }
+
+ .status-filter-tab:hover {
+ border-color: var(--primary);
+ }
+
+ .status-count {
+ margin-left: 2px;
+ }
+
+ /* 회의록 목록 - 모바일 1열, 데스크톱 2열 */
.meeting-list {
- display: flex;
- flex-direction: column;
+ display: grid;
+ grid-template-columns: 1fr;
gap: var(--space-md);
}
- /* 반응형: 그리드 레이아웃 */
- @media (min-width: 640px) {
+ /* 데스크톱에서 2열 그리드 */
+ @media (min-width: 768px) {
.meeting-list {
- display: grid;
grid-template-columns: repeat(2, 1fr);
- gap: var(--space-md);
- }
- }
-
- @media (min-width: 1024px) {
- .meeting-list {
- grid-template-columns: repeat(3, 1fr);
- }
- }
-
- @media (min-width: 1440px) {
- .meeting-list {
- grid-template-columns: repeat(4, 1fr);
}
}
+ /* 회의록 카드 - 대시보드와 동일한 스타일 */
.meeting-item {
+ border: 1px solid var(--gray-300);
+ border-radius: var(--radius-md);
background: var(--white);
- border-radius: var(--radius-lg);
- box-shadow: var(--shadow-md);
- padding: var(--space-md);
+ transition: all var(--transition-fast);
cursor: pointer;
- transition: all var(--transition-normal);
+ padding: var(--space-md);
}
.meeting-item:hover {
- box-shadow: var(--shadow-lg);
- transform: translateY(-2px);
+ box-shadow: var(--shadow-md);
+ border-color: var(--primary);
}
.meeting-header {
display: flex;
- justify-content: space-between;
- align-items: flex-start;
+ justify-content: flex-start;
+ align-items: center;
+ gap: var(--space-xs);
margin-bottom: var(--space-sm);
+ flex-wrap: wrap;
}
.meeting-title {
- flex: 1;
- font-size: var(--font-body);
- font-weight: var(--font-weight-bold);
+ font-weight: var(--font-weight-medium);
color: var(--gray-900);
- margin-bottom: var(--space-xs);
+ font-size: var(--font-base);
+ flex: 1;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ min-width: 0;
}
.meeting-badges {
display: flex;
- flex-direction: column;
gap: var(--space-xs);
- align-items: flex-end;
+ align-items: center;
+ flex-shrink: 0;
}
.meeting-meta {
display: flex;
- align-items: center;
- gap: var(--space-md);
+ flex-wrap: wrap;
+ gap: var(--space-sm);
font-size: var(--font-small);
- color: var(--gray-500);
- margin-bottom: var(--space-xs);
+ color: var(--gray-600);
+ align-items: center;
}
.meeting-meta-item {
@@ -345,6 +395,36 @@
margin-bottom: var(--space-lg);
}
+ /* 더보기 버튼 */
+ .load-more-wrapper {
+ display: flex;
+ justify-content: center;
+ margin-top: var(--space-lg);
+ margin-bottom: var(--space-xl);
+ }
+
+ .load-more-btn {
+ padding: 12px 24px;
+ background: var(--white);
+ border: 2px solid var(--primary);
+ color: var(--primary);
+ border-radius: var(--radius-md);
+ font-size: var(--font-body);
+ font-weight: var(--font-weight-semibold);
+ cursor: pointer;
+ transition: all var(--transition-fast);
+ }
+
+ .load-more-btn:hover {
+ background: var(--primary);
+ color: var(--white);
+ }
+
+ /* 추가 데이터 숨김 처리 */
+ .meeting-item.hidden {
+ display: none;
+ }
+
@@ -381,7 +461,7 @@