import axios from 'axios'; import React, {useContext, useState} from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { addPost, getPosts } from '../actions/post.actions'; import { UidContext } from './AppContext'; const AjoutLien = () => { const uid = useContext(UidContext); const userData = useSelector((state) => state.user.user); const [displayAdd, setDisplayAdd] = useState(false); const [lien, setLien] = useState(""); const [description, setDescription] = useState(""); const dispatch = useDispatch(); const handlePost = async () => { if(isValidUrl(lien)) if ((description || lien) ){ putData(); dispatch(getPosts()); cancelPost(); setDisplayAdd(false); window.location.reload(); }else { alert("Veuillez compléter tous les champs.") } else{ alert("Ce n'est pas lien!") } }; const cancelPost = () => { setDescription(""); setLien(""); }; const putData = async() => { axios .post(`${process.env.REACT_APP_API_URL}api/post/`, { postedId: userData._id, message: description, lien: lien} ) .then((res) => { // if (res.data.errors) { // dispatch(setPostError({payload: res.data.errors })); // } else { // dispatch(setPostError({payload: "" })); // } })}; const isValidUrl = (url) => { try { new URL(url); return true; }catch { return false; } } return ( <>