diff --git a/index.html b/index.html index e42eaac..accc0fd 100644 --- a/index.html +++ b/index.html @@ -8,10 +8,6 @@
로딩 중...
-약속이 없습니다.
{type === 'EDIT_TIME_EXPIRED' && '약속 24시간 전까지만 약속 정보를 수정할 수 있어요'} {(type === 'CANCEL_TIME_EXPIRED' || type === 'JOIN_TIME_EXPIRED') && diff --git a/src/features/meetings/components/MeetingDetailInfo.tsx b/src/features/meetings/components/MeetingDetailInfo.tsx index 797b12f..3710ea6 100644 --- a/src/features/meetings/components/MeetingDetailInfo.tsx +++ b/src/features/meetings/components/MeetingDetailInfo.tsx @@ -1,7 +1,5 @@ import { MapPin } from 'lucide-react' -import { useState } from 'react' -import MapModal from '@/features/meetings/components/MapModal' import { Avatar, AvatarFallback, @@ -21,8 +19,6 @@ interface MeetingDetailInfoProps { } export function MeetingDetailInfo({ meeting }: MeetingDetailInfoProps) { - const [isMapModalOpen, setIsMapModalOpen] = useState(false) - const leader = meeting.participants.members.find((member) => member.role === 'LEADER') const members = meeting.participants.members.filter((member) => member.role === 'MEMBER') const displayedMembers = members.slice(0, MAX_DISPLAYED_AVATARS) @@ -32,6 +28,8 @@ export function MeetingDetailInfo({ meeting }: MeetingDetailInfoProps) { const [startDate, endDate] = meeting.schedule.displayDate.split(' ~ ') + const location = meeting.location + return (
{place.place_name}
diff --git a/src/features/meetings/components/PlaceSearchModal.tsx b/src/features/meetings/components/PlaceSearchModal.tsx
index dfd54f5..b5a995a 100644
--- a/src/features/meetings/components/PlaceSearchModal.tsx
+++ b/src/features/meetings/components/PlaceSearchModal.tsx
@@ -3,7 +3,7 @@
* @description 카카오 장소 검색 모달 컴포넌트
*/
-import { Search } from 'lucide-react'
+import { AlertCircle, Search } from 'lucide-react'
import { useEffect, useRef } from 'react'
import {
@@ -49,12 +49,24 @@ export default function PlaceSearchModal({
onSelectPlace,
}: PlaceSearchModalProps) {
// 지도 관리
- const { mapElement, isInitialized, initializeMap, renderMarkers, setCenter, cleanup } =
- useKakaoMap()
+ const {
+ mapElement,
+ isInitialized,
+ error: mapError,
+ initializeMap,
+ renderMarkers,
+ setCenter,
+ cleanup,
+ } = useKakaoMap()
// 장소 검색 관리
const keywordRef = useRef
{mapError}
+내 의견을 먼저 공유해야 다른
+멤버들의 의견도 확인할 수 있어요!
+툴팁 내용
+이것은 기본 툴팁입니다
+위에 표시됩니다
+오른쪽에 표시됩니다
+아래에 표시됩니다
+왼쪽에 표시됩니다
+X 버튼으로만 닫을 수 있습니다
+내 의견을 먼저 공유해야 다른 멤버들의 의견도 확인할 수 있어요!
+간격이 넓습니다
+`} + > +트리거와 거리가 멉니다
+• 기본 툴팁: hover 시 자동으로 표시/숨김
+• dismissable 툴팁: Tooltip에 dismissable prop 추가
+• dismissable 모드: 항상 열려있고 X 버튼으로만 닫힘
+• 한 번 닫으면 트리거에 hover해도 다시 열리지 않음
+• 외부 클릭, ESC 키, 스크롤로 닫히지 않음 (dismissable 모드)
+• asChild prop을 사용하여 자식 요소에 직접 이벤트 연결
+• TooltipProvider는 App.tsx에서 전역으로 설정됨
+약속 만들기
+{isEditMode ? '약속 수정하기' : '약속 만들기'}
작성한 내용은 모임장의 승인 후 약속으로 등록돼요.
-작성한 내용은 모임장의 승인 후 약속으로 등록돼요.
+{bookName}
+{bookAuthors}
+{errors.bookId}
)} @@ -169,7 +317,7 @@ export default function MeetingCreatePage() {{locationName}
{locationAddress}
@@ -191,17 +339,6 @@ export default function MeetingCreatePage() {툴팁 내용
+ *X 버튼으로만 닫을 수 있는 툴팁
+ *위쪽에 여유있게 표시됩니다
+ *