@@ -34,21 +34,21 @@ const AdminDailyAttendanceCard = ({ date, order,studentId, onClose, onRefresh }
3434 */
3535 const rawSlots = rawData
3636 . filter ( ( d ) => d . date === date ) // 해당 날짜의 출석만 필터
37- . sort ( ( a , b ) => a . order - b . order ) // order 순으로 정렬
37+ // .sort((a, b) => a.order - b.order) // order 순으로 정렬
3838 . map ( ( d ) => ( {
39- date : d . date ,
39+ // date: d.date,
4040 id : d . attendanceId , // 출석 ID
41- order : d . order , // 회차 표시용
41+ // order: d.order, // 회차 표시용
4242 status : d . status ? "SUCCESS" : "FAILURE" , // 드롭다운에 맞게 변환
4343 } ) ) ;
4444
4545 const filledSlots =
4646 rawSlots . length > 0
4747 ? rawSlots
4848 : [ 1 , 2 , 3 ] . map ( ( order ) => ( {
49- date,
49+ // date,
5050 id : null , // 새 출석이므로 아직 id 없음
51- order,
51+ // order,
5252 status : "EMPTY" , //기본값
5353 } ) ) ;
5454
@@ -63,9 +63,9 @@ const AdminDailyAttendanceCard = ({ date, order,studentId, onClose, onRefresh }
6363 }
6464 } ;
6565
66- fetchSlots ( ) ;
66+ if ( date ) fetchSlots ( ) ;
6767 } , [ date , studentId ] ) ;
68-
68+
6969 const handleChange = ( idx , newValue ) => {
7070 const newSlots = [ ...slots ] ;
7171 newSlots [ idx ] . status = newValue ;
@@ -126,7 +126,7 @@ const AdminDailyAttendanceCard = ({ date, order,studentId, onClose, onRefresh }
126126 </ div >
127127 < div className = "card-body" >
128128 { slots . map ( ( slot , idx ) => (
129- < div key = { `${ slot . date } -${ slot . order } ` } className = "slot-row" >
129+ < div key = { slot . id || `${ date } -${ idx } ` } className = "slot-row" >
130130 < span > { idx + 1 } 차 출석</ span >
131131 < select value = { slot . status } onChange = { ( e ) => handleChange ( idx , e . target . value ) } >
132132 < option value = "SUCCESS" > 성공</ option >
0 commit comments