diff --git a/src/layouts/TheFooter.vue b/src/layouts/TheFooter.vue index 7ee5090..ab900fa 100644 --- a/src/layouts/TheFooter.vue +++ b/src/layouts/TheFooter.vue @@ -1,17 +1,7 @@ diff --git a/src/views/board/BoardView.vue b/src/views/board/BoardView.vue index f8c62df..20af8e2 100644 --- a/src/views/board/BoardView.vue +++ b/src/views/board/BoardView.vue @@ -717,10 +717,10 @@ if (targetComment) { // console.log('타겟',targetComment) - // ✅ 댓글 내용만 "삭제된 댓글입니다."로 변경하고, 구조는 유지 + // 댓글 내용만 "삭제된 댓글입니다."로 변경하고, 구조는 유지 targetComment.content = '댓글이 삭제되었습니다.'; targetComment.author = '알 수 없음'; // 익명 처리 - targetComment.isDeleted = true; // ✅ 삭제 상태를 추가 + targetComment.isDeleted = true; // 삭제 상태를 추가 } } else { toastStore.onToast('댓글 삭제에 실패했습니다.', 'e'); @@ -820,8 +820,23 @@ }); diff --git a/src/views/vacation/VacationManagement.vue b/src/views/vacation/VacationManagement.vue index 488b6f4..2f520e9 100644 --- a/src/views/vacation/VacationManagement.vue +++ b/src/views/vacation/VacationManagement.vue @@ -456,11 +456,12 @@ function updateCalendarEvents() { .filter(([date, type]) => type !== "delete") .map(([date, type]) => ({ start: date, - backgroundColor: "rgb(113 212 243 / 76%)", + backgroundColor: "rgb(113 212 243 / 76%)", // 클릭하면 하늘색 textColor: "#fff", display: "background", - classNames: [getVacationTypeClass(type), "selected-event"] + classNames: [getVacationTypeClass(type), "selected-event"] // 선택된 날짜 클래스 추가 })); + const filteredFetchedEvents = fetchedEvents.value.filter(event => { if (event.saved && selectedDates.value.get(event.start) === "delete") { if (event.memberSeq === userStore.user.id) { @@ -469,7 +470,37 @@ function updateCalendarEvents() { } return true; }); + calendarEvents.value = [...filteredFetchedEvents, ...selectedEvents]; + + nextTick(() => { + const todayStr = new Date().toISOString().split("T")[0]; + const todayElement = document.querySelector(`.fc-daygrid-day[data-date="${todayStr}"]`); + + if (todayElement) { + // 오늘 날짜가 선택된 경우 배경 제거 + if (selectedDates.value.has(todayStr)) { + todayElement.classList.remove("fc-day-today"); // 기본 스타일 제거 + todayElement.classList.add("selected-event"); // 선택된 날짜 스타일 적용 + + // 🔹 오전 반차일 경우 'half-day-am' 클래스 추가 + if (selectedDates.value.get(todayStr) === "700101") { + todayElement.classList.add("half-day-am"); + todayElement.classList.remove("half-day-pm"); + } + // 🔹 오후 반차일 경우 'half-day-pm' 클래스 추가 + else if (selectedDates.value.get(todayStr) === "700102") { + todayElement.classList.add("half-day-pm"); + todayElement.classList.remove("half-day-am"); + } else { + todayElement.classList.remove("half-day-am", "half-day-pm"); + } + } else { + todayElement.classList.add("fc-day-today"); // 기본 스타일 복원 + todayElement.classList.remove("selected-event", "half-day-am", "half-day-pm"); // 선택된 상태 해제 + } + } + }); } // 휴가 종류에 따른 클래스명 const getVacationTypeClass = (type) => {