Skip to content

Commit 396dda4

Browse files
committed
feat: 그룹 일정 외 일정 필터링 기능 추가
1 parent f8b0e62 commit 396dda4

File tree

2 files changed

+35
-3
lines changed

2 files changed

+35
-3
lines changed

src/components/common/Calendar.tsx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,23 @@ export default memo(function Calendar({
6161
useEffect(() => {
6262
if (isGroupCalendar && db_events.length > 0) {
6363
const dateList = getDateListFromStartDateToEndDate(startDate!, endDate!);
64+
console.log(startDate);
65+
console.log(endDate);
6466

6567
const eventDateList = db_events.map((event) => event.start_date.split('T')[0]);
68+
69+
console.log(dateList);
70+
71+
const allDateTableList = eventDateList.map((date) => {
72+
return document.querySelector(`[data-date="${date}"]`);
73+
});
74+
75+
allDateTableList.forEach((date) => {
76+
const existingClassName = date?.className;
77+
const newClassName = existingClassName + ' bg-base-200';
78+
date?.setAttribute('class', newClassName);
79+
});
80+
6681
const formatedList = dateList.filter((date) => !eventDateList.includes(date));
6782

6883
const dateTableDataList = formatedList.map((date) => {
@@ -71,7 +86,7 @@ export default memo(function Calendar({
7186

7287
dateTableDataList.forEach((dateTableData) => {
7388
const existingClassName = dateTableData?.className;
74-
const newClassName = existingClassName + ' bg-gray-200';
89+
const newClassName = existingClassName + ' bg-success';
7590
dateTableData?.setAttribute('class', newClassName);
7691
});
7792
}

src/pages/GroupCalendarPage.tsx

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,25 @@ const GroupCalendarPage = () => {
6767
backgroundColor,
6868
};
6969
})
70-
.flat(),
71-
[memberInfoList?.memberScheduleList, memberInfoList?.memberList, backgroundColorMap, colorIndex],
70+
.flat()
71+
.filter((item) => {
72+
const groupStartDate = data?.start_date;
73+
const groupEndDate = data?.end_date;
74+
75+
if (!groupStartDate || !groupEndDate) return false;
76+
77+
return (
78+
new Date(item.start_date) >= new Date(groupStartDate) && new Date(item.end_date) <= new Date(groupEndDate)
79+
);
80+
}),
81+
[
82+
memberInfoList?.memberScheduleList,
83+
memberInfoList?.memberList,
84+
backgroundColorMap,
85+
colorIndex,
86+
data?.start_date,
87+
data?.end_date,
88+
],
7289
);
7390

7491
const onDelete = useCallback((id: number) => {

0 commit comments

Comments
 (0)