diff --git a/src/domains/freetalk/components/ChatRoomModal.jsx b/src/domains/freetalk/components/ChatRoomModal.jsx index aa7f209..49ace7b 100644 --- a/src/domains/freetalk/components/ChatRoomModal.jsx +++ b/src/domains/freetalk/components/ChatRoomModal.jsx @@ -40,6 +40,7 @@ const ChatRoomModal = ({ open, onClose, room, onLeave }) => { const [playingTTS, setPlayingTTS] = useState(null) const [minimized, setMinimized] = useState(false) const [position, setPosition] = useState({ x: 0, y: 0 }) + const [savedPosition, setSavedPosition] = useState({ x: 0, y: 0 }) const [isDragging, setIsDragging] = useState(false) const [dragOffset, setDragOffset] = useState({ x: 0, y: 0 }) // 메시지 목록 조회 @@ -192,6 +193,19 @@ const ChatRoomModal = ({ open, onClose, room, onLeave }) => { } } + // 최소화/최대화 토글 + const handleToggleMinimize = () => { + if (!minimized) { + // 최소화: 현재 위치 저장 후 우측 하단으로 이동 + setSavedPosition(position) + setPosition({ x: 0, y: 0 }) + } else { + // 최대화: 저장된 위치로 복원 + setPosition(savedPosition) + } + setMinimized(!minimized) + } + // 채팅방 퇴장 const handleLeaveRoom = async () => { try { @@ -269,7 +283,7 @@ const ChatRoomModal = ({ open, onClose, room, onLeave }) => { - setMinimized(!minimized)} sx={{ color: 'white' }} title={minimized ? '최대화' : '최소화'}> + {minimized ? : }