diff --git a/fe/src/app/components/test/NaverLoginButton.tsx b/fe/src/app/components/test/NaverLoginButton.tsx deleted file mode 100644 index 884799e..0000000 --- a/fe/src/app/components/test/NaverLoginButton.tsx +++ /dev/null @@ -1,30 +0,0 @@ -"use client"; - -export default function NaverLoginButton() { - const handleLogin = () => { - const clientId = process.env.NEXT_PUBLIC_NAVER_CLIENT_ID; - const redirectUri = process.env.NEXT_PUBLIC_REDIRECT_URI; - const state = Math.random().toString(36).substring(2, 15); - - if (!clientId || !redirectUri) { - alert("환경 변수가 제대로 설정되지 않았습니다."); - return; - } - - const naverAuthUrl = `https://nid.naver.com/oauth2.0/authorize?response_type=code&client_id=${clientId}&redirect_uri=${encodeURIComponent( - redirectUri - )}&state=${state}`; - - window.location.href = naverAuthUrl; - }; - - return ( - - ); -} diff --git a/fe/src/app/event-maps/[id]/[nonMemberId]/load-mappin-edit/components/EditLink.tsx b/fe/src/app/event-maps/[id]/[nonMemberId]/load-mappin-edit/components/EditLink.tsx index 82d34a2..1cab0b3 100644 --- a/fe/src/app/event-maps/[id]/[nonMemberId]/load-mappin-edit/components/EditLink.tsx +++ b/fe/src/app/event-maps/[id]/[nonMemberId]/load-mappin-edit/components/EditLink.tsx @@ -32,7 +32,7 @@ export default function LinkFieldEdit({ id: nanoid(), text: val, error: "", - isValid: true, + isValid: !!val, isTyping: false, })) : [ @@ -110,28 +110,6 @@ export default function LinkFieldEdit({ } }; - const handlePasteFromClipboard = async (fieldId: string) => { - try { - const clipboardText = await navigator.clipboard.readText(); - - const cleanedValue = cleanURL(clipboardText); - - if (cleanedValue) { - setInputFields((prevFields) => - prevFields.map((fieldItem) => - fieldItem.id === fieldId - ? { ...fieldItem, text: cleanedValue, isValid: false } - : fieldItem - ) - ); - - validateLink(fieldId, cleanedValue, label); - } - } catch (error) { - console.error("클립보드에서 텍스트를 읽는 데 실패했습니다:", error); - } - }; - const handleInputChange = (fieldId: string, inputValue: string) => { const cleanedValue = cleanURL(inputValue); setInputFields((prevFields) => @@ -147,14 +125,33 @@ export default function LinkFieldEdit({ } }; - const handleFocus = (fieldId: string) => { + const handleFocus = async (fieldId: string) => { setInputFields((prevFields) => prevFields.map((fieldItem) => fieldItem.id === fieldId ? { ...fieldItem, isTyping: true } : fieldItem ) ); - handlePasteFromClipboard(fieldId); + // 자동 클립보드 붙여넣기 기능 + if (navigator.clipboard) { + try { + const clipboardText = await navigator.clipboard.readText(); + const cleanedValue = cleanURL(clipboardText); + if (cleanedValue) { + setInputFields((prevFields) => + prevFields.map((fieldItem) => + fieldItem.id === fieldId + ? { ...fieldItem, text: cleanedValue, isValid: false } + : fieldItem + ) + ); + + validateLink(fieldId, cleanedValue, label); + } + } catch (error) { + console.error("클립보드에서 텍스트를 읽는 데 실패했습니다:", error); + } + } }; const handleBlur = (fieldId: string) => { @@ -199,6 +196,7 @@ export default function LinkFieldEdit({ }; const getClassNames = (item: InputField): string => { + if (!item.text) return "bg-[#F8F8F8]"; if (item.error && !item.isTyping) return "border-2 border-[#f73a2c] bg-[#F8F8F8]"; if (item.isValid) return "bg-[#EBF4FD] text-[#3a91ea]"; diff --git a/fe/src/app/event-maps/[id]/[nonMemberId]/load-mappin-edit/page.tsx b/fe/src/app/event-maps/[id]/[nonMemberId]/load-mappin-edit/page.tsx index 0708664..fe69f59 100644 --- a/fe/src/app/event-maps/[id]/[nonMemberId]/load-mappin-edit/page.tsx +++ b/fe/src/app/event-maps/[id]/[nonMemberId]/load-mappin-edit/page.tsx @@ -98,13 +98,14 @@ export default function LinkEditPage() { }; const handleBack = () => { - router.push(`/event-maps/${id}`); + setShowExitModal(true); // ExitModal을 표시 }; - const handleExit = () => { + const handleExitConfirm = () => { + // 데이터 삭제 후 뒤로가기 localStorage.removeItem("userData"); localStorage.removeItem("formData"); - router.back(); + router.push(`/event-maps/${id}`); }; const handleCancel = () => { @@ -175,7 +176,7 @@ export default function LinkEditPage() { /> {showExitModal && ( - + )} ); diff --git a/fe/src/app/event-maps/[id]/load-mappin/forms/links/page.tsx b/fe/src/app/event-maps/[id]/load-mappin/forms/links/page.tsx index ccdeb7b..83432e4 100644 --- a/fe/src/app/event-maps/[id]/load-mappin/forms/links/page.tsx +++ b/fe/src/app/event-maps/[id]/load-mappin/forms/links/page.tsx @@ -63,7 +63,6 @@ export default function LinksPage() { localStorage.clear(); router.push(`/event-maps/${id}`); } else if (response.status === 409) { - // 405 에러 처리 alert("이미 존재하는 이름입니다. 다시 시도해주세요."); } else { setIsFormComplete(false); @@ -93,11 +92,13 @@ export default function LinksPage() {
-
- 마음에 쏙 든 공간을 불러와요 -
-
- 네이버지도에 북마크 해 둔 공간을 불러와요 +
+
+ 마음에 쏙 든 공간을 불러와요 +
+
+ 네이버지도에 북마크 해 둔 공간을 불러와요 +