From 7fd115ddc73d4bc70d7417bcb9de39720b6dbbdd Mon Sep 17 00:00:00 2001 From: nevermoregb Date: Fri, 28 Mar 2025 13:59:38 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=EB=8C=93=EA=B8=80=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=EC=82=AC=ED=95=AD=20=EC=97=86=EC=9C=BC=EB=A9=B4=20submit=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=20disabled=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/board/BoardComment.vue | 9 ++++++++- src/components/button/SaveBtn.vue | 25 ++++++++++--------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/components/board/BoardComment.vue b/src/components/board/BoardComment.vue index fa13318..200704f 100644 --- a/src/components/board/BoardComment.vue +++ b/src/components/board/BoardComment.vue @@ -38,7 +38,7 @@ {{ editCommentAlert }}
- +
@@ -142,6 +142,8 @@ }; const localEditedContent = ref(props.comment.content); + const isModifyContent = ref(props.comment.content); + const disabled = ref(false); // 댓글 입력 창 토글 const isComment = ref(false); @@ -182,6 +184,11 @@ watch( () => localEditedContent.value, newVal => { + if (JSON.stringify(isModifyContent.value) == JSON.stringify(newVal)) { + disabled.value = false; + return; + } + disabled.value = true; emit('inputDetector'); }, ); diff --git a/src/components/button/SaveBtn.vue b/src/components/button/SaveBtn.vue index 7c8068a..51fcd48 100644 --- a/src/components/button/SaveBtn.vue +++ b/src/components/button/SaveBtn.vue @@ -1,23 +1,18 @@ From 767c160acd8244042016fe4591e87cc3b95c6950 Mon Sep 17 00:00:00 2001 From: yoon Date: Fri, 28 Mar 2025 14:04:53 +0900 Subject: [PATCH 2/4] =?UTF-8?q?kakao=20=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/commuters/CommuterBtn.vue | 33 +++++++++---------- src/components/commuters/CommuterCalendar.vue | 11 ------- .../commuters/CommuterProjectList.vue | 4 +-- 3 files changed, 17 insertions(+), 31 deletions(-) diff --git a/src/components/commuters/CommuterBtn.vue b/src/components/commuters/CommuterBtn.vue index 6cc5f68..026cf08 100644 --- a/src/components/commuters/CommuterBtn.vue +++ b/src/components/commuters/CommuterBtn.vue @@ -60,15 +60,12 @@ const { coords, isSupported, error } = useGeolocation({ const getAddress = (lat, lng) => { return new Promise((resolve, reject) => { const geocoder = new kakao.maps.services.Geocoder(); - const coord = new kakao.maps.LatLng(lat, lng); - - geocoder.coord2Address(coord.getLng(), coord.getLat(), (result, status) => { + geocoder.coord2Address(lat, lng, (result, status) => { if (status === kakao.maps.services.Status.OK) { const address = result[0].address.address_name; resolve(address); } else { reject('주소를 가져올 수 없습니다.'); - return; } }); }); @@ -86,22 +83,22 @@ const getLocation = async () => { return null; } - if (coords.value) { - userLocation.value = { - lat: coords.value.latitude, - lng: coords.value.longitude, - }; - - try { - const address = await getAddress(coords.value.latitude, coords.value.longitude); - return address; - } catch (error) { - alert(error); - return null; - } + if (!coords.value) { + return null; } - return null; + userLocation.value = { + lat: coords.value.latitude, + lng: coords.value.longitude, + }; + + try { + const address = await getAddress(coords.value.latitude, coords.value.longitude); + return address; + } catch (error) { + alert(error); + return null; + } }; // 오늘 사용자의 출근 정보 조회 diff --git a/src/components/commuters/CommuterCalendar.vue b/src/components/commuters/CommuterCalendar.vue index b64883f..67b0857 100644 --- a/src/components/commuters/CommuterCalendar.vue +++ b/src/components/commuters/CommuterCalendar.vue @@ -144,17 +144,6 @@ const handleLeaveTimeUpdate = () => { todaysCommuter(); }; -const handleResetProjectState = () => { - // 이전에 체크인했던 프로젝트로 복귀 - const storedProject = projectStore.getSelectedProject(); - if (storedProject) { - checkedInProject.value = storedProject; - selectedProject.value = storedProject.PROJCTSEQ; - projectStore.setSelectedProject(storedProject); - pendingProjectChange.value = null; - } -}; - // 프로젝트 드롭 이벤트 핸들러 (ProjectList 컴포넌트에서 전달받음) const handleProjectDrop = ({ event, targetProject }) => { const draggedProjectData = JSON.parse(event.dataTransfer.getData('application/json')); diff --git a/src/components/commuters/CommuterProjectList.vue b/src/components/commuters/CommuterProjectList.vue index c61abd5..1f46232 100644 --- a/src/components/commuters/CommuterProjectList.vue +++ b/src/components/commuters/CommuterProjectList.vue @@ -1,9 +1,9 @@