diff --git a/frontend/components/messenger/ChatPanel.tsx b/frontend/components/messenger/ChatPanel.tsx index 3a66feb4..767fc2f7 100644 --- a/frontend/components/messenger/ChatPanel.tsx +++ b/frontend/components/messenger/ChatPanel.tsx @@ -14,9 +14,10 @@ import type { Room } from "@/hooks/useMessenger"; interface ChatPanelProps { room: Room | null; messageInputRef?: React.RefObject; + onCaptureClick?: () => void; } -export function ChatPanel({ room, messageInputRef }: ChatPanelProps) { +export function ChatPanel({ room, messageInputRef, onCaptureClick }: ChatPanelProps) { const { user } = useAuth(); const { selectedRoomId } = useMessengerContext(); const { data: messages } = useMessages(selectedRoomId); @@ -180,6 +181,7 @@ export function ChatPanel({ room, messageInputRef }: ChatPanelProps) { roomId={room.id} onTypingStart={() => emitTypingStart(room.id)} onTypingStop={() => emitTypingStop(room.id)} + onCaptureClick={onCaptureClick} /> ); diff --git a/frontend/components/messenger/MessageInput.tsx b/frontend/components/messenger/MessageInput.tsx index da0b5d3c..cc766fc8 100644 --- a/frontend/components/messenger/MessageInput.tsx +++ b/frontend/components/messenger/MessageInput.tsx @@ -1,7 +1,7 @@ "use client"; import { useState, useRef, useCallback, useEffect, forwardRef, useImperativeHandle, KeyboardEvent, ChangeEvent } from "react"; -import { Paperclip, Send, SmilePlus, X, FileIcon } from "lucide-react"; +import { Paperclip, Send, SmilePlus, X, FileIcon, Scissors } from "lucide-react"; import { useSendMessage, useUploadFile, useCompanyUsers } from "@/hooks/useMessenger"; import { toast } from "sonner"; @@ -20,10 +20,11 @@ interface MessageInputProps { roomId: string; onTypingStart?: () => void; onTypingStop?: () => void; + onCaptureClick?: () => void; } export const MessageInput = forwardRef( -function MessageInput({ roomId, onTypingStart, onTypingStop }: MessageInputProps, ref) { +function MessageInput({ roomId, onTypingStart, onTypingStop, onCaptureClick }: MessageInputProps, ref) { const [text, setText] = useState(""); const [pendingFiles, setPendingFiles] = useState([]); const [showEmoji, setShowEmoji] = useState(false); @@ -233,6 +234,11 @@ function MessageInput({ roomId, onTypingStart, onTypingStop }: MessageInputProps {/* Input toolbar */}
+ {onCaptureClick && ( + + )} diff --git a/frontend/components/messenger/MessengerModal.tsx b/frontend/components/messenger/MessengerModal.tsx index b0bed09d..f0cfa1a9 100644 --- a/frontend/components/messenger/MessengerModal.tsx +++ b/frontend/components/messenger/MessengerModal.tsx @@ -1,7 +1,7 @@ "use client"; import { useState, useEffect, useRef, useCallback } from "react"; -import { X, Settings, Scissors } from "lucide-react"; +import { X, Settings } from "lucide-react"; import { useMessengerContext } from "@/contexts/MessengerContext"; import { useRooms, useUnreadCount } from "@/hooks/useMessenger"; import { RoomList } from "./RoomList"; @@ -194,13 +194,6 @@ export function MessengerModal() { >

메신저

-