From ddfdc29c1f1dd23671bd8de2150a405d4eb0ddda Mon Sep 17 00:00:00 2001 From: Guillaume Dorce Date: Thu, 3 Nov 2022 17:18:57 +0100 Subject: [PATCH] add picture preview for new message --- client/src/components/NewMessage.tsx | 108 +++++++++++++++++---------- 1 file changed, 68 insertions(+), 40 deletions(-) diff --git a/client/src/components/NewMessage.tsx b/client/src/components/NewMessage.tsx index c6da596..9ec1ca3 100644 --- a/client/src/components/NewMessage.tsx +++ b/client/src/components/NewMessage.tsx @@ -1,12 +1,22 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import { useState } from 'react'; -import { FaPlus } from 'react-icons/fa'; +import { FaPlus, FaTimes } from 'react-icons/fa'; import { newMessage } from '@controllers/MessageController'; const NewMessage = () => { const [message, setMessage] = useState(''); const [image, setImage] = useState(''); const queryClient = useQueryClient(); + const [preview, setPreview] = useState(''); + + const handleImageSelect = (e: any) => { + setImage(e.target.value); + const file = e.target.files[0]; + if (file) { + const src = URL.createObjectURL(file); + setPreview(src); + } + }; const { mutate: send } = useMutation(newMessage, { onSuccess: () => { @@ -26,51 +36,69 @@ const NewMessage = () => { send(data); setMessage(''); setImage(''); + setPreview(''); + }; + + const handleRemoveImage = () => { + setImage(''); + setPreview(''); }; return ( ); };