- {{ address }} {{ addressdtail }}
-
-
-
-
+
+
+
+ {{ address }} {{ addressdtail }}
@@ -195,6 +178,7 @@ import DeleteBtn from '../button/DeleteBtn.vue';
import FormInput from '@c/input/FormInput.vue';
import FormSelect from '@c/input/FormSelect.vue';
import ArrInput from '@c/input/ArrInput.vue';
+import MapPopover from '@c/map/MapPopover.vue';
import { useToastStore } from '@s/toastStore';
import { useUserInfoStore } from '@/stores/useUserInfoStore';
import commonApi, { refreshColorList } from '@/common/commonApi';
@@ -270,11 +254,7 @@ const emit = defineEmits(['update']);
const isModalOpen = ref(false);
const logData = ref([]);
-// 주소 팝오버 상태
-const isPopoverVisible = ref(false);
-const map = ref();
const mapIconRef = ref(null);
-const coordinates = ref(null);
// 수정 모달 상태
const isEditModalOpen = ref(false);
@@ -292,8 +272,6 @@ const selectedUsers = ref({
});
-const isKakaoMapLoaded = ref(false);
-
const startDateInput = ref(null);
const endDateInput = ref(null);
@@ -538,43 +516,6 @@ const handleUpdate = async () => {
}
};
-// 주소를 좌표로 변환하는 함수
-const convertAddressToCoordinates = () => {
- if (!window.kakao || !window.kakao.maps) {
- return;
- }
-
- const geocoder = new window.kakao.maps.services.Geocoder();
- geocoder.addressSearch(props.address, (result, status) => {
- if (status === window.kakao.maps.services.Status.OK) {
- coordinates.value = {
- lat: parseFloat(result[0].y),
- lng: parseFloat(result[0].x)
- };
- }
- });
-};
-
-const onLoadKakaoMap = (mapRef) => {
- map.value = mapRef;
-};
-
-// 지도 확대
-const zoomIn = () => {
- if (map.value) {
- const level = map.value.getLevel();
- map.value.setLevel(level + 1);
- }
-};
-
-// 지도 축소
-const zoomOut = () => {
- if (map.value) {
- const level = map.value.getLevel();
- map.value.setLevel(level - 1);
- }
-};
-
// 프로젝트 삭제
const handleDelete = () => {
$api.patch('project/delete', {
@@ -605,13 +546,6 @@ onMounted(async () => {
endInputElement = endDateInput.value.$el.querySelector('input[type="date"]');
}
- const checkKakaoMapsLoaded = () => {
- if (window.kakao && window.kakao.maps && window.kakao.maps.services) {
- convertAddressToCoordinates();
- }
- };
-
- checkKakaoMapsLoaded();
});
diff --git a/src/components/map/MapPopover.vue b/src/components/map/MapPopover.vue
new file mode 100644
index 0000000..c1ba217
--- /dev/null
+++ b/src/components/map/MapPopover.vue
@@ -0,0 +1,109 @@
+
+
+
+
+
diff --git a/src/components/search/SearchBar.vue b/src/components/search/SearchBar.vue
index 9a68666..03bfb3a 100644
--- a/src/components/search/SearchBar.vue
+++ b/src/components/search/SearchBar.vue
@@ -1,17 +1,8 @@
diff --git a/src/components/user/RegisterForm.vue b/src/components/user/RegisterForm.vue
index aea85d2..726df69 100644
--- a/src/components/user/RegisterForm.vue
+++ b/src/components/user/RegisterForm.vue
@@ -332,9 +332,12 @@
};
watch(password, (newValue) => {
- if (newValue.length >= 4) {
+ if (newValue && newValue.length >= 4) {
passwordErrorAlert.value = false;
passwordError.value = '';
+ } else if (newValue && newValue.length < 4) {
+ passwordErrorAlert.value = true;
+ passwordError.value = '비밀번호는 4자리 이상이어야 합니다.';
}
});
@@ -342,6 +345,7 @@
// 회원가입
const handleSubmit = async () => {
await checkColorDuplicate();
+
idAlert.value = id.value.trim() === '';
passwordAlert.value = password.value.trim() === '';
passwordcheckAlert.value = passwordcheck.value.trim() === '';
@@ -351,8 +355,8 @@
addressAlert.value = address.value.trim() === '';
phoneAlert.value = phone.value.trim() === '';
- // 비밀번호 길이 체크 로직 추가
- if (password.value.length < 4) {
+ // 비밀번호 길이 체크 로직 수정
+ if (password.value && password.value.length < 4) {
passwordErrorAlert.value = true;
passwordError.value = '비밀번호는 4자리 이상이어야 합니다.';
} else {
diff --git a/src/components/voteboard/voteCard.vue b/src/components/voteboard/voteCard.vue
index c987a79..095a66d 100644
--- a/src/components/voteboard/voteCard.vue
+++ b/src/components/voteboard/voteCard.vue
@@ -1,5 +1,5 @@
-
+
@@ -59,7 +59,7 @@
:data="data.voteMembers"/>
-
+
{{ data.localVote.LOCVOTTTL }}
삭제된 투표입니다.
diff --git a/src/views/board/BoardList.vue b/src/views/board/BoardList.vue
index a3bf5ad..cd3ee2f 100644
--- a/src/views/board/BoardList.vue
+++ b/src/views/board/BoardList.vue
@@ -4,7 +4,7 @@