diff --git a/design/uiux/prototype/02-대시보드.html b/design/uiux/prototype/02-대시보드.html
index 8fe6934..cd00362 100644
--- a/design/uiux/prototype/02-대시보드.html
+++ b/design/uiux/prototype/02-대시보드.html
@@ -150,6 +150,7 @@
}
/* 회의 카드 */
+ /* 최근 회의는 최대 3개만 표시하므로 3열로 제한 */
.meeting-grid {
display: grid;
gap: var(--space-md);
@@ -168,12 +169,6 @@
}
}
- @media (min-width: 1440px) {
- .meeting-grid {
- grid-template-columns: repeat(4, 1fr);
- }
- }
-
.meeting-card {
background: var(--white);
border-radius: var(--radius-lg);
@@ -689,8 +684,17 @@
const statusInfo = getMeetingStatusInfo(meeting);
const isCreator = meeting.participants.some(p => p.id === currentUser.id && p.role === 'creator');
+ // 버튼 표시 규칙
+ // - ongoing: 참여하기 버튼 표시
+ // - scheduled: 버튼 없음 (카드 클릭으로 수정 화면 이동)
+ // - draft/complete: 버튼 없음 (카드 클릭으로 상세조회 이동)
+ let actionButton = '';
+ if (meeting.status === 'ongoing') {
+ actionButton = ``;
+ }
+
return `
-
+
-
- ${meeting.status === 'ongoing'
- ? ``
- : meeting.status === 'scheduled' && isCreator
- ? ``
- : ``
- }
-
+ ${actionButton ? `
${actionButton}
` : ''}
`;
}).join('');
@@ -716,12 +713,14 @@
card.addEventListener('click', (e) => {
if (e.target.tagName !== 'BUTTON') {
const meetingId = card.dataset.id;
- const meeting = SAMPLE_MEETINGS.find(m => m.id === meetingId);
- if (meeting.status === 'ongoing') {
+ const meetingStatus = card.dataset.status;
+
+ // 상태에 따른 이동 처리
+ if (meetingStatus === 'ongoing') {
navigateTo('05-회의진행.html');
- } else if (meeting.status === 'completed') {
+ } else if (meetingStatus === 'draft' || meetingStatus === 'complete' || meetingStatus === 'completed') {
navigateTo('10-회의록상세조회.html');
- } else {
+ } else if (meetingStatus === 'scheduled') {
navigateTo('03-회의예약.html');
}
}
diff --git a/design/uiux/prototype/common.js b/design/uiux/prototype/common.js
index 6e57a0a..c4b9010 100644
--- a/design/uiux/prototype/common.js
+++ b/design/uiux/prototype/common.js
@@ -31,7 +31,7 @@ const SAMPLE_MEETINGS = [
time: '14:00',
duration: 90,
location: '본사 2층 대회의실',
- status: 'scheduled', // ongoing, scheduled, completed
+ status: 'draft', // ongoing, scheduled, completed, draft(작성중), complete(확정완료)
participants: [
{ id: 'user-001', name: '김민준', avatar: '김', avatarColor: 'green' },
{ id: 'user-002', name: '박서연', avatar: '박', avatarColor: 'blue' },
@@ -39,7 +39,8 @@ const SAMPLE_MEETINGS = [
{ id: 'user-004', name: '최유진', avatar: '최', avatarColor: 'pink' }
],
sections: 3,
- todos: 5
+ todos: 5,
+ minutesId: 'minutes-001' // 회의록 ID 연결
},
{
id: 'meeting-002',
@@ -1083,6 +1084,12 @@ function getMeetingStatusInfo(meeting) {
if (meeting.status === 'ongoing') {
return { badgeType: 'ongoing', badgeText: '진행중' };
}
+ if (meeting.status === 'draft') {
+ return { badgeType: 'draft', badgeText: '작성중' };
+ }
+ if (meeting.status === 'complete') {
+ return { badgeType: 'complete', badgeText: '확정완료' };
+ }
if (meeting.status === 'completed') {
return { badgeType: 'complete', badgeText: '확정완료' };
}