Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 0 additions & 30 deletions fe/src/app/components/test/NaverLoginButton.tsx

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export default function LinkFieldEdit({
id: nanoid(),
text: val,
error: "",
isValid: true,
isValid: !!val,
isTyping: false,
}))
: [
Expand Down Expand Up @@ -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) =>
Expand All @@ -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) => {
Expand Down Expand Up @@ -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]";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 = () => {
Expand Down Expand Up @@ -175,7 +176,7 @@ export default function LinkEditPage() {
/>
</div>
{showExitModal && (
<ExitModal onCancel={handleCancel} onExit={handleExit} />
<ExitModal onCancel={handleCancel} onExit={handleExitConfirm} />
)}
</div>
);
Expand Down
13 changes: 7 additions & 6 deletions fe/src/app/event-maps/[id]/load-mappin/forms/links/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -93,11 +92,13 @@ export default function LinksPage() {
</div>

<div className="flex-1 px-[16px] pt-[72px] w-full overflow-y-auto pb-[100px]">
<div className="text-[#2c2c2c] text-[22px] font-semibold leading-[30px] font-['Pretendard']">
마음에 쏙 든 공간을 불러와요
</div>
<div className="text-[#555555] text-base font-medium leading-relaxed font-['Pretendard'] mb-[24px]">
네이버지도에 북마크 해 둔 공간을 불러와요
<div className="mt-[16px] mb-[36px]">
<div className="text-[#2c2c2c] text-[22px] font-semibold leading-[30px] font-['Pretendard']">
마음에 쏙 든 공간을 불러와요
</div>
<div className="text-[#555555] text-base font-medium leading-relaxed font-['Pretendard'] mt-2">
네이버지도에 북마크 해 둔 공간을 불러와요
</div>
</div>

<form onSubmit={handleSubmit} className="w-full">
Expand Down