Skip to content

Commit 20dec47

Browse files
committed
feat: 중복체크,일정등록시 같은 배열이 있는경우에만 새로운 일정추가
1 parent facb8ec commit 20dec47

File tree

2 files changed

+18
-18
lines changed

2 files changed

+18
-18
lines changed

src/components/common/Calendar.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -145,20 +145,20 @@ export default function Calendar() {
145145
useEffect(() => {
146146
if (!isLoaded) {
147147
getPersonalSchedule().then((schedule) => {
148-
const uniqueEvents = schedule.filter(newEvent =>
149-
!events.some(existingEvent =>
150-
existingEvent.start === newEvent.start_date && existingEvent.title === newEvent.title
151-
)
148+
const uniqueEvents = schedule.filter(
149+
(newEvent) =>
150+
!events.some(
151+
(existingEvent) => existingEvent.start === newEvent.start_date && existingEvent.title === newEvent.title,
152+
),
152153
);
153154
if (uniqueEvents.length > 0) {
154155
const eventsToAdd = convertEvents(uniqueEvents);
155-
eventsToAdd.forEach(eventToAdd => addEvents(eventToAdd));
156+
eventsToAdd.forEach((eventToAdd) => addEvents(eventToAdd));
156157
setIsLoaded(true);
157158
}
158159
});
159160
}
160161
}, [events, addEvents, isLoaded]);
161-
162162

163163
return (
164164
<div>
@@ -201,7 +201,6 @@ export default function Calendar() {
201201
<div className="mt-10">{selectedDate && <EventCards events={selectedEvents} date={selectedDate} />}</div>
202202
</div>
203203
);
204-
205204
}
206205

207206
function renderEventContent(eventInfo: EventInfo) {

src/stores/myEventsStore.ts

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,18 @@ interface EventsState {
1010
export const useEventState = create<EventsState>()((set) => ({
1111
events: [],
1212

13-
addEvents: (newEvent: Events) => set((state) => {
14-
// 중복 검사 로직 추가
15-
const isDuplicate = state.events.some(event =>
16-
event.start === newEvent.start && event.title === newEvent.title
17-
);
13+
addEvents: (newEvent: Events) =>
14+
set((state) => {
15+
// 중복 검사 로직 추가
16+
const isDuplicate = state.events.some(
17+
(event) => event.start === newEvent.start && event.title === newEvent.title,
18+
);
1819

19-
if (!isDuplicate) {
20-
return { events: [...state.events, newEvent] };
21-
} else {
22-
return { events: [...state.events] }; // 중복된 경우 상태 변경 없음
23-
}
24-
}),
20+
if (!isDuplicate) {
21+
return { events: [...state.events, newEvent] };
22+
} else {
23+
return { events: [...state.events] }; // 중복된 경우 상태 변경 없음
24+
}
25+
}),
2526
initEvents: () => set(() => ({ events: [] })),
2627
}));

0 commit comments

Comments
 (0)