diff --git a/Site Web/client/src/actions/user.actions.js b/Site Web/client/src/actions/user.actions.js index 35af099e..ff7e48ce 100644 --- a/Site Web/client/src/actions/user.actions.js +++ b/Site Web/client/src/actions/user.actions.js @@ -23,7 +23,7 @@ export const uploadPicture = (data, id) => { return axios .get(`${process.env.REACT_APP_API_URL}api/user/${id}`) .then((res) => { - dispatch(setUserDataImg(res.data.picture)); + /*dispatch(setUserDataImg(res.data.picture));*/ }) }) .catch((err) => console.log(err)); diff --git a/Site Web/client/src/components/Configurations/ConfigurationDuProfil.js b/Site Web/client/src/components/Configurations/ConfigurationDuProfil.js index 1fd55fb2..23215957 100644 --- a/Site Web/client/src/components/Configurations/ConfigurationDuProfil.js +++ b/Site Web/client/src/components/Configurations/ConfigurationDuProfil.js @@ -1,5 +1,5 @@ import React, { useState } from 'react'; -import { useSelector } from 'react-redux'; +import { useSelector, useDispatch } from 'react-redux'; import PP from "../../assets/img/unknown.png"; import PLUS from "../../assets/img/plus.png"; import { NavLink } from "react-router-dom"; @@ -10,32 +10,28 @@ const ConfigurationDuProfil = ()=>{ const userData = useSelector((state) => state.user.user); - const [pseudo, setPseudo] = useState(''); - const [nomUtilisateur, setNomUtilisateur] = useState(''); + const [pseudo, setPseudo] = useState(userData.pseudo); + const [nomUtilisateur, setNomUtilisateur] = useState(userData.pseudo); + const[userPicture, setUserPicture] = useState(userData.picture) + const [tmpImage, setTmpImage] =useState('') const [displayAdd, setDisplayAdd] = useState(false); - /*const [updateImage, setUpdateImage]= useState(false); - const setimageDeProfile=()=>{ - if(updateImage=true){ - useState(""); + const handlevalidationPopup =(e)=>{ + setUserPicture(tmpImage); setDisplayAdd(false); - } - else{ - setDisplayAdd(false); - } - }*/ - var handleLoadFile=(e)=>{ + } + const handleLoadFile=(e)=>{ var image = document.getElementById("output"); image.src = URL.createObjectURL(e.target.files[0]); - + setTmpImage(image.src); }; - var a=PP; + return(

Modifucation du Profil

Pseudo: @@ -78,7 +74,7 @@ const ConfigurationDuProfil = ()=>{
- +
- - + + +
)}
+ ) + + + + + + + + + + + + } export default ConfigurationDuProfil; \ No newline at end of file diff --git a/Site Web/client/src/components/Configurations/PolitiqueDeConfidentialite.js b/Site Web/client/src/components/Configurations/PolitiqueDeConfidentialite.js index 7dd0a9b4..31f74bff 100644 --- a/Site Web/client/src/components/Configurations/PolitiqueDeConfidentialite.js +++ b/Site Web/client/src/components/Configurations/PolitiqueDeConfidentialite.js @@ -6,17 +6,22 @@ const PolitiqueDeConfidentialite =()=>{ return(
-

Cette politique de confidentialité s’applique au site : Designed By GG. - La présente politique de confidentialité a pour but d’exposer aux utilisateurs du site : - - La manière dont sont collectées et traitées leurs données à caractère - personnel. Doivent être considérées comme données personnelles toutes les données étant susceptibles d’identifier un utilisateur. Il s’agit notamment du prénom et du nom, de l’âge, de l’adresse postale, l’adresse mail, la localisation de l’utilisateur ou encore son adresse IP ; - Quels sont les droits des utilisateurs concernant ces données ; - Qui est responsable du traitement des données à caractère personnes - collectées et traitées ; - A qui ces données sont transmises ; - Eventuellement, la politique du site en matière de fichiers “cookies” -

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur sodales ligula in libero. Sed dignissim lacinia nunc.

+ +

Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis. Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor. Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh. Quisque volutpat condimentum velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

+ +

Nam nec ante. Sed lacinia, urna non tincidunt mattis, tortor neque adipiscing diam, a cursus ipsum ante quis turpis. Nulla facilisi. Ut fringilla. Suspendisse potenti. Nunc feugiat mi a tellus consequat imperdiet. Vestibulum sapien. Proin quam. Etiam ultrices. Suspendisse in justo eu magna luctus suscipit. Sed lectus. Integer euismod lacus luctus magna. Quisque cursus, metus vitae pharetra auctor, sem massa mattis sem, at interdum magna augue eget diam.

+ +

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi lacinia molestie dui. Praesent blandit dolor. Sed non quam. In vel mi sit amet augue congue elementum. Morbi in ipsum sit amet pede facilisis laoreet. Donec lacus nunc, viverra nec, blandit vel, egestas et, augue. Vestibulum tincidunt malesuada tellus. Ut ultrices ultrices enim. Curabitur sit amet mauris. Morbi in dui quis est pulvinar ullamcorper. Nulla facilisi. Integer lacinia sollicitudin massa. Cras metus.

+ +

Sed aliquet risus a tortor. Integer id quam. Morbi mi. Quisque nisl felis, venenatis tristique, dignissim in, ultrices sit amet, augue. Proin sodales libero eget ante. Nulla quam. Aenean laoreet. Vestibulum nisi lectus, commodo ac, facilisis ac, ultricies eu, pede. Ut orci risus, accumsan porttitor, cursus quis, aliquet eget, justo. Sed pretium blandit orci. Ut eu diam at pede suscipit sodales. Aenean lectus elit, fermentum non, convallis id, sagittis at, neque.

+ +

Nullam mauris orci, aliquet et, iaculis et, viverra vitae, ligula. Nulla ut felis in purus aliquam imperdiet. Maecenas aliquet mollis lectus. Vivamus consectetuer risus et tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum.

+ +

Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur sodales ligula in libero. Sed dignissim lacinia nunc. Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis. Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor.

+ +

Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh. Quisque volutpat condimentum velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam nec ante. Sed lacinia, urna non tincidunt mattis, tortor neque adipiscing diam, a cursus ipsum ante quis turpis. Nulla facilisi. Ut fringilla. Suspendisse potenti.

+
) } diff --git a/Site Web/client/src/components/Post/NouveauDisplayPosts.js b/Site Web/client/src/components/Post/NouveauDisplayPosts.js index bdb651a0..f5642e4b 100644 --- a/Site Web/client/src/components/Post/NouveauDisplayPosts.js +++ b/Site Web/client/src/components/Post/NouveauDisplayPosts.js @@ -1,15 +1,17 @@ -import React, { useEffect, useState } from 'react'; +import { current } from '@reduxjs/toolkit'; +import React, { useEffect, useState, useContext } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { getPosts } from '../../actions/post.actions'; import { isEmpty } from "../Utils"; import Post from './PostNouvelleAffichage'; +import { UidContext } from './../AppContext'; const NouveauDisplayPosts = () => { const [loadPost, setLoadPost] = useState(true); const [count , setCount] = useState(5); const dispatch = useDispatch(); const postsData = useSelector((state) => state.post.post); - + const uid = useContext(UidContext); const loadMore = () => { if (window.innerHeight + document.documentElement.scrollTop + 1 > document.scrollingElement.scrollHeight){ setLoadPost(true); @@ -31,8 +33,12 @@ const NouveauDisplayPosts = () => {
); diff --git a/Site Web/client/src/components/Post/Post.js b/Site Web/client/src/components/Post/Post.js index d2f5aae4..23cb66ce 100644 --- a/Site Web/client/src/components/Post/Post.js +++ b/Site Web/client/src/components/Post/Post.js @@ -23,16 +23,19 @@ const LinkPreview = ({ link }) => { }, [link]); if(preview.image === "") { - return (
{link}
); + return (
{link}
); } else { return ( -
+ <> +
- {preview.title}/ + {preview.title}/ -

{preview.description}

+
+

{preview.description}

+ ); } }; diff --git a/Site Web/client/src/components/Post/PostNouvelleAffichage.js b/Site Web/client/src/components/Post/PostNouvelleAffichage.js index ec90d12a..7ead740f 100644 --- a/Site Web/client/src/components/Post/PostNouvelleAffichage.js +++ b/Site Web/client/src/components/Post/PostNouvelleAffichage.js @@ -51,10 +51,11 @@ const PostNouvelleAffichage = ( { post } ) => { }) return ( -
  • +
  • {isLoading ? ( ):( + <>
    {dateParser(post.createdAt)}
    @@ -71,11 +72,12 @@ const PostNouvelleAffichage = ( { post } ) => {
    setComments(!comments)}/> -
    {post.comments.length}
    +
    {post.comments.length}
    - {comments && }
  • + {comments && } + ) } ); diff --git a/Site Web/client/src/components/UserProfil/NavigationProfil/DossiersPersonnels.js b/Site Web/client/src/components/UserProfil/NavigationProfil/DossiersPersonnels.js index 008467b4..6fce1b96 100644 --- a/Site Web/client/src/components/UserProfil/NavigationProfil/DossiersPersonnels.js +++ b/Site Web/client/src/components/UserProfil/NavigationProfil/DossiersPersonnels.js @@ -8,7 +8,7 @@ const DossiersPersonnels=()=>{ return(
    - pppp +
    ) diff --git a/Site Web/client/src/components/UserProfil/NavigationProfil/PostsPersonnels.js b/Site Web/client/src/components/UserProfil/NavigationProfil/PostsPersonnels.js index 832d4e28..9f0caff6 100644 --- a/Site Web/client/src/components/UserProfil/NavigationProfil/PostsPersonnels.js +++ b/Site Web/client/src/components/UserProfil/NavigationProfil/PostsPersonnels.js @@ -8,7 +8,7 @@ const PostPersonnels=()=>{ return(
    - +
    ) } diff --git a/Site Web/client/src/pages/Configuration.js b/Site Web/client/src/pages/Configuration.js index 7f147372..9c1aeed5 100644 --- a/Site Web/client/src/pages/Configuration.js +++ b/Site Web/client/src/pages/Configuration.js @@ -9,7 +9,7 @@ const Configuration = () => { const [ConfigurationCompte, setConfigurationDuCompte] = useState(false); const [ConfigurationProfil, setConfigurationDuProfil] = useState(true); - const [PolitiqueConfidentialite, setPolitiqueDeConfidentialite] =useState(false) + const [PolitiqueConfidentialite, setPolitiqueDeConfidentialite] =useState(false); const handleModals = (e) => { if (e.target.id === "ConfigurationDuProfil") { diff --git a/Site Web/client/src/pages/Profil.js b/Site Web/client/src/pages/Profil.js index 0c8fb0d0..1bd20af5 100644 --- a/Site Web/client/src/pages/Profil.js +++ b/Site Web/client/src/pages/Profil.js @@ -3,9 +3,9 @@ import { useDispatch, useSelector } from 'react-redux'; import Navbar from '../components/Navbar'; import { dateParser } from '../components/Utils'; import FollowHandler from '../components/UserProfil/FollowHandler'; -import PostPersonnels from '../components/UserProfil/NavigationProfil/PostsPersonnels'; -import DossierPersonnels from '../components/UserProfil/NavigationProfil/DossiersPersonnels'; -import PostsLikes from '../components/UserProfil/NavigationProfil/PostsLikes'; +import LesPostPersonnels from '../components/UserProfil/NavigationProfil/PostsPersonnels'; +import LesDossierPersonnels from '../components/UserProfil/NavigationProfil/DossiersPersonnels'; +import LesPostsLikes from '../components/UserProfil/NavigationProfil/PostsLikes'; const Profil = () => { const userData = useSelector((state) => state.user.user); @@ -13,11 +13,13 @@ const Profil = () => { const dispatch = useDispatch(); const [followingPopup, setFollowingPopup] = useState(false); const [followerPopup, setFollowerPopup] = useState(false); - const [dossierPersonnels,setdossierPersonnels ] = useState(true); - const [postPersonnels,setpostPersonnels ] = useState(false); - const [postLikes,setpostLikes ] =useState(false) - const handleModals = (e) => { + + const [dossierPersonnel,setdossierPersonnels ] = useState(true); + const [postPersonnel,setpostPersonnels ] = useState(false); + const [postLike,setpostLikes ] =useState(false); + + const handleModalsProfil = (e) => { if (e.target.id === "DossierPersonnels") { setdossierPersonnels(true); setpostPersonnels(false); @@ -170,7 +172,7 @@ const Profil = () => {
    - )} + )} {followerPopup && (
    @@ -204,31 +206,30 @@ const Profil = () => {
    -
    -
    +
    +
    - diff --git a/Site Web/client/src/styles/_settings.scss b/Site Web/client/src/styles/_settings.scss index a3808849..2ff77c6a 100644 --- a/Site Web/client/src/styles/_settings.scss +++ b/Site Web/client/src/styles/_settings.scss @@ -8,6 +8,8 @@ $color-5: #AABBCC; $color-6: #5499c7 ; $color-7: #19104f ; $color-8: #FAFAFA; +$color-9: #645b5b; +$color-10:#dddddd; // $color-1: #4cbfa6; @@ -33,6 +35,6 @@ body{ .imageDeProfil{ object-fit: cover; clip-path:circle(50%); - + } diff --git a/Site Web/client/src/styles/component/_politiqueDeConfidentialite.scss b/Site Web/client/src/styles/component/_politiqueDeConfidentialite.scss index 07f4301e..0ad991c8 100644 --- a/Site Web/client/src/styles/component/_politiqueDeConfidentialite.scss +++ b/Site Web/client/src/styles/component/_politiqueDeConfidentialite.scss @@ -1,16 +1,22 @@ .PolitiqueDeConfidentialiteText{ + display: flex; + justify-content: center; + flex-direction: column; margin-top: 2%; margin-left: 5%; text-indent: 1%; text-align: justify; - display: flex; - justify-content: center; + + background-color: $color-8; border: 0.2px solid $color-5; max-width:85% ; min-width: 380px; height: 550px; + overflow-y: scroll; + scrollbar-width: thin; + scrollbar-gutter: stable both-edges; p{ animation-duration: 2s; diff --git a/Site Web/client/src/styles/component/_postNouvelleAffichage.scss b/Site Web/client/src/styles/component/_postNouvelleAffichage.scss index 913f7dd6..a0be6e1b 100644 --- a/Site Web/client/src/styles/component/_postNouvelleAffichage.scss +++ b/Site Web/client/src/styles/component/_postNouvelleAffichage.scss @@ -1,4 +1,4 @@ -.conteneur_postes{ +.PostesProfilConteneur{ display: flex; flex-direction: column; .unPosteNouvelleAffichage{ @@ -9,15 +9,20 @@ background: $color-8; border: 0.3px solid $color-5; margin: 0.2% 1%; - padding: 1%; + padding: 1% 3%; + border-radius: 10px; .dateDePublicationDuPost{ - flex: 0.5 0.8 20%; + flex: 0 0 22%; } .LienDunPosteNouvelleAffichage{ display: flex; - justify-content: space-around; + justify-content: space-between; flex-flow: row wrap; flex: 0.9 0 60%; + margin-left: 3%; + p{ + margin-left: 5%; + } } .informationDunPosteNouvelleAffichage{ @@ -27,19 +32,26 @@ padding-left: 10%; flex: 0.5 0.8 auto; } + + } + .CommentaireProfil{ + background: $color-8; + border: 0.3px solid $color-5; } +} + + + .PreviewPostNouvelleAffichage{ - min-width: 100px; width: 80%; max-height: 48px; } .postPersonnel .dossierPersonnel{ - display: flex; + display: flex; flex-direction: column; - width: 100; - } - -} \ No newline at end of file + width: 100%; + + } \ No newline at end of file diff --git a/Site Web/client/src/styles/component/_poste.scss b/Site Web/client/src/styles/component/_poste.scss index 42ba661d..1c541bb5 100644 --- a/Site Web/client/src/styles/component/_poste.scss +++ b/Site Web/client/src/styles/component/_poste.scss @@ -77,5 +77,14 @@ align-items:center; } - - +.alignementLien{ + display: flex; + flex-direction: row; + justify-content: center; + background-color: $color-10; + .LienPostHome{ + min-height:100px ; + height: 100%; + max-height: 300px; + } +} diff --git a/Site Web/client/src/styles/pages/_profil.scss b/Site Web/client/src/styles/pages/_profil.scss index 00d42c04..6efa2209 100644 --- a/Site Web/client/src/styles/pages/_profil.scss +++ b/Site Web/client/src/styles/pages/_profil.scss @@ -162,6 +162,7 @@ padding-top: 2%; padding-bottom: 2%; list-style: none; + } .navItemProfil { @@ -317,9 +318,10 @@ margin-top: 1%; } .menuContent{ -background-color: #8c8c8e; +border: 0.3px solid $color-5; +background-color: $color-9; +border-radius: 10px; margin: 0% 0% 0% 2.5%; -border-radius: 25px; width: 95%; height: 85%; } @@ -339,10 +341,12 @@ padding-top: 3%; } .listContent { -/* display: flex; -justify-content: center; */ -padding-left: 2.5%; -padding-top: 2.5%; +padding-left: 1%; +padding-top: 1%; +overflow-y: scroll; +scrollbar-width: thin; +scrollbar-gutter: stable both-edges; + } .basDePage { diff --git a/Site Web/client/src/styles/pages/_trends.scss b/Site Web/client/src/styles/pages/_trends.scss index be391115..a4718530 100644 --- a/Site Web/client/src/styles/pages/_trends.scss +++ b/Site Web/client/src/styles/pages/_trends.scss @@ -1,11 +1,11 @@ #listeNotif{ margin: 2%; - margin-left: 8%; + margin-left: 20%; padding:1%; border-color: $color-5; border-style:solid; border-width: 0.3px; min-width: 410px; - width: 84%; + width: 60%; background: $color-8; } \ No newline at end of file diff --git a/Site Web/routes/user.routes.js b/Site Web/routes/user.routes.js index 859a50fc..a2ab8860 100644 --- a/Site Web/routes/user.routes.js +++ b/Site Web/routes/user.routes.js @@ -15,7 +15,7 @@ router.get('/logout', authController.logout); // user router.get('/', userController.getAllUsers); router.get('/:id', userController.userInfo); -//put pour faire des updates +router.put("/:id", userController.updateUser); router.put('/:id', userController.updateUser); router.delete('/:id', userController.deleteUser); router.patch('/follow/:id', userController.follow);