From 03fbdbce15390963b143056cacaa68e9cd9590e2 Mon Sep 17 00:00:00 2001 From: lilyyang0077 Date: Fri, 19 Jun 2026 17:04:18 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=EB=82=98=EC=9D=98=20=EA=B3=BC?= =?UTF-8?q?=EC=A0=9C=20=EC=83=81=ED=83=9C=20=EB=B2=84=EA=B7=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/pirocheck/assignment/Assignment.js | 43 +++++++++++++------ .../assignment/Assignment.module.css | 7 +++ 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/frontend/src/pages/pirocheck/assignment/Assignment.js b/frontend/src/pages/pirocheck/assignment/Assignment.js index 27786c7..f4ec879 100644 --- a/frontend/src/pages/pirocheck/assignment/Assignment.js +++ b/frontend/src/pages/pirocheck/assignment/Assignment.js @@ -19,9 +19,23 @@ const IS_MOCK = false; // 제출 상태 아이콘 (부원용) function StatusIcon({ status }) { - if (status === 'SUBMITTED') return 제출; - if (status === 'LATE') return 지각제출; - return 미제출; + if (status === 'PENDING') { + return 채점 중; + } + + if (status === 'SUCCESS') { + return 성공; + } + + if (status === 'INSUFFICIENT_MINOR' || status === 'INSUFFICIENT_MAJOR') { + return 불충분; + } + + if (status === 'FAILURE') { + return 실패; + } + + return 채점 중; } // 세션별 과제 묶기 @@ -147,15 +161,20 @@ function Assignment() { const [modalItem, setModalItem] = useState(undefined); // undefined=닫힘, null=생성, object=수정 const fetchAll = async () => { - const results = await Promise.all( - ['1', '2', '3', '4', '5'].map(w => - authFetch(`/api/assignments/me/${w}`) - .then(r => r.json()) - .catch(() => ({ week: w, assignments: [] })) - ) - ); - setWeeks(results); - }; + const results = await Promise.all( + ['1', '2', '3', '4', '5'].map(w => + authFetch(`/api/assignments/me/${w}`) + .then(r => r.json()) + .then(json => { + console.log('week', w, json); + return json; + }) + .catch(() => ({ week: w, assignments: [] })) + ) + ); + + setWeeks(results); +}; // 수정 시 로컬 state만 업데이트 (순서 유지) const handleEditSave = (updatedItem) => { diff --git a/frontend/src/pages/pirocheck/assignment/Assignment.module.css b/frontend/src/pages/pirocheck/assignment/Assignment.module.css index 8621bcf..1560495 100644 --- a/frontend/src/pages/pirocheck/assignment/Assignment.module.css +++ b/frontend/src/pages/pirocheck/assignment/Assignment.module.css @@ -157,6 +157,13 @@ flex-shrink: 0; } +.pendingText { + color: var(--main); + font-size: 0.9rem; + font-weight: 600; + white-space: nowrap; +} + .divider { border: none; border-top: 1px solid #555; From 05062a24d6f37b91e84275cce5c0afd782657c6c Mon Sep 17 00:00:00 2001 From: lilyyang0077 Date: Fri, 19 Jun 2026 17:10:40 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=ED=8A=B9=EC=A0=95=20=EB=B6=80?= =?UTF-8?q?=EC=9B=90=20=EA=B3=BC=EC=A0=9C=20=EC=83=81=ED=83=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20=EB=B2=84=EA=B7=B8=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/pages/pirocheck/students/StudentDetail.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/frontend/src/pages/pirocheck/students/StudentDetail.js b/frontend/src/pages/pirocheck/students/StudentDetail.js index c6b2685..4177236 100644 --- a/frontend/src/pages/pirocheck/students/StudentDetail.js +++ b/frontend/src/pages/pirocheck/students/StudentDetail.js @@ -10,8 +10,14 @@ import Toggle2 from '../../../assets/images/icon_togle2.svg'; const IS_MOCK = false; const dayLabel = { TUESDAY: 'TUE', THURSDAY: 'THU', SATURDAY: 'SAT' }; -const statusOptions = ['PENDING', 'SUCCESS', 'INSUFFICIENT', 'FAILURE']; -const statusLabel = { PENDING: '채점 중', SUCCESS: '성공', INSUFFICIENT: '미달', FAILURE: '실패' }; +const statusOptions = ['PENDING', 'SUCCESS', 'INSUFFICIENT_MINOR', 'INSUFFICIENT_MAJOR', 'FAILURE']; +const statusLabel = { + PENDING: '채점 중', + SUCCESS: '성공', + INSUFFICIENT_MINOR: '경미한 미달', + INSUFFICIENT_MAJOR: '심각한 미달', + FAILURE: '실패', +}; function WeekBlock({ weekData, onChange }) { const [isOpen, setIsOpen] = useState(false);