+
+
+ {new Date(schedule.date).getFullYear()}.{new Date(schedule.date).getMonth() + 1}
+
+
+ {new Date(schedule.date).getDate()}
+
+
+ {['일', '월', '화', '수', '목', '금', '토'][new Date(schedule.date).getDay()]}요일
+
- )}
-
- {new Date(schedule.date).getDate()}
-
-
- {new Date(schedule.date).toLocaleDateString('ko-KR', { weekday: 'short' })}
-
-
- {/* 내용 */}
-
-
-
- {schedule.category_name || '미지정'}
-
- {schedule.source_name && (
-
- {schedule.source_name}
-
- )}
- {schedule.time?.slice(0, 5)}
-
-
{schedule.title}
- {schedule.description && (
-
{schedule.description}
- )}
- {/* 멤버 태그 */}
- {(() => {
- // members 배열 또는 member_names 문자열 처리
- const memberList = schedule.members?.length > 0
- ? schedule.members
- : schedule.member_names
- ? schedule.member_names.split(',').filter(n => n.trim()).map((name, idx) => ({ id: idx, name: name.trim() }))
- : [];
- if (memberList.length === 0) return null;
- return (
-
- {memberList.length >= 5 ? (
-
- 프로미스나인
+ c.id === schedule.category_id)?.color)?.style?.backgroundColor || '#6b7280' }}
+ />
+
+
+
{schedule.title}
+
+ {schedule.time && (
+
+
+ {schedule.time.slice(0, 5)}
- ) : (
- memberList.map((member) => (
-
- {member.name}
-
- ))
+ )}
+
+
+ {categories.find(c => c.id === schedule.category_id)?.name || '미분류'}
+
+ {schedule.source_name && (
+
+
+ {schedule.source_name}
+
)}
- );
- })()}
-
-
-
- {/* 액션 버튼 */}
-
+ {schedule.member_names && (
+
+ {schedule.member_names.split(',').length >= 5 ? (
+
+ 프로미스나인
+
+ ) : (
+ schedule.member_names.split(',').map((name, i) => (
+
+ {name.trim()}
+
+ ))
+ )}
+
+ )}
+
+
+
+
+ ))}
+
+ {/* 무한 스크롤 트리거 & 로딩 인디케이터 */}
+
+ {isFetchingNextPage && (
+
+ )}
+ {!hasNextPage && searchResults.length > 0 && (
+
+ {searchResults.length} / {searchTotal}개 표시 (모두 로드됨)
+
+ )}
-
- ))}
+ >
+ ) : (
+ /* 일반 모드: 기존 렌더링 */
+ filteredSchedules.map((schedule, index) => (
+
+
+
+
+ {new Date(schedule.date).getDate()}
+
+
+ {['일', '월', '화', '수', '목', '금', '토'][new Date(schedule.date).getDay()]}요일
+
+
+
+
c.id === schedule.category_id)?.color)?.style?.backgroundColor || '#6b7280' }}
+ />
+
+
+
{schedule.title}
+
+ {schedule.time && (
+
+
+ {schedule.time.slice(0, 5)}
+
+ )}
+
+
+ {categories.find(c => c.id === schedule.category_id)?.name || '미분류'}
+
+ {schedule.source_name && (
+
+
+ {schedule.source_name}
+
+ )}
+
+ {(() => {
+ const memberNames = schedule.member_names || schedule.members?.map(m => m.name).join(',') || '';
+ const memberList = memberNames.split(',').filter(name => name.trim());
+ if (memberList.length === 0) return null;
+ return (
+
+ {memberList.length >= 5 ? (
+
+ 프로미스나인
+
+ ) : (
+ memberList.map((name, i) => (
+
+ {name.trim()}
+
+ ))
+ )}
+
+ );
+ })()}
+
+
+
+
+
+ ))
+ )}
)}