From ba60337c715ae42a4a5296b388cfa752ce1d8938 Mon Sep 17 00:00:00 2001 From: Elisee ADJIGUIDI Date: Mon, 26 Jun 2023 02:40:29 +0200 Subject: [PATCH] unbanned unblocked --- containers/api/src/app.controller.ts | 4 ++-- containers/api/src/chat/chat.service.ts | 11 ++++++--- containers/api/src/users/users.service.ts | 10 +++++--- .../react/src/components/Messages/Chats.tsx | 24 ++++++++++++------- .../src/components/Messages/ModalSetting.tsx | 17 ++++++++++--- 5 files changed, 47 insertions(+), 19 deletions(-) diff --git a/containers/api/src/app.controller.ts b/containers/api/src/app.controller.ts index c522a655..353cdcb8 100644 --- a/containers/api/src/app.controller.ts +++ b/containers/api/src/app.controller.ts @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* app.controller.ts :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: apommier +#+ +:+ +#+ */ +/* By: sadjigui +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/17 01:00:00 by apommier #+# #+# */ -/* Updated: 2023/06/25 00:10:18 by apommier ### ########.fr */ +/* Updated: 2023/06/26 02:19:48 by sadjigui ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/containers/api/src/chat/chat.service.ts b/containers/api/src/chat/chat.service.ts index d69bad68..218ca2c3 100644 --- a/containers/api/src/chat/chat.service.ts +++ b/containers/api/src/chat/chat.service.ts @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* chat.service.ts :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: apommier +#+ +:+ +#+ */ +/* By: sadjigui +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/17 01:00:25 by apommier #+# #+# */ -/* Updated: 2023/06/24 18:47:59 by apommier ### ########.fr */ +/* Updated: 2023/06/26 02:21:38 by sadjigui ### ########.fr */ /* */ /* ************************************************************************** */ @@ -84,10 +84,15 @@ async banUser(convId: number, username: string) { conv.banned = conv.banned || []; if (conv.banned.find(item => item === username)) - return (1); + { + conv.banned = conv.banned.filter((item) => item !== username); + this.save(conv); + return (2); + } conv.members = conv.members.filter((item) => item !== username); conv.banned.push(username); this.save(conv); + return (1); } async inviteUser(convId: number, username: string) { diff --git a/containers/api/src/users/users.service.ts b/containers/api/src/users/users.service.ts index cb71de7a..958b2769 100644 --- a/containers/api/src/users/users.service.ts +++ b/containers/api/src/users/users.service.ts @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* users.service.ts :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: apommier +#+ +:+ +#+ */ +/* By: sadjigui +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/06/17 01:00:07 by apommier #+# #+# */ -/* Updated: 2023/06/24 23:30:52 by apommier ### ########.fr */ +/* Updated: 2023/06/26 02:23:16 by sadjigui ### ########.fr */ /* */ /* ************************************************************************** */ @@ -143,7 +143,11 @@ export class UsersService { return (0); user.blocked = user.blocked || []; if (user.blocked.find(item => item === username)) - return (1); + { + this.save(user); + user.blocked = user.blocked.filter((item) => item !== username); + return (2); + } user.blocked.push(username); this.save(user); return (1); diff --git a/containers/react/src/components/Messages/Chats.tsx b/containers/react/src/components/Messages/Chats.tsx index c5b00057..ff551bae 100644 --- a/containers/react/src/components/Messages/Chats.tsx +++ b/containers/react/src/components/Messages/Chats.tsx @@ -251,25 +251,27 @@ function Chats(){ return ; handleSubmit(e); } - - - + + + const [friend, setFriend] = useState(""); // const [modalOpen, setModalOpen] = useState(false); const [addFriend, setAddFriend] = useState(false); const [block, setBlock] = useState(false); - + const [showAddFriendAlert, setShowAddFriendAlert] = useState(false); const [showBlockAlert, setShowBlockAlert] = useState(false); - + const [setting, setSetting] = useState(false); - + const [newGameModalOpen, setNewGameModalOpen] = useState(false); const [newConversationModalOpen, setNewConversationModalOpen] = useState(false); - + const [selectTags, setSelectTag] = useState([{ id: 1, selectedOption: ''}]); const [users, setUsers] = useState([]); - + + const [unblock, setUnblock] = useState(false); + const closeUnblock = () => setUnblock(false); const openNewGameModal = () => { setNewGameModalOpen(true); @@ -323,10 +325,13 @@ function Chats(){ } }; + const handleBlockFriend = async () => { try{ const res = await api.post("/block", {username: friend}) // if(1) + if (res.data === 2) + setUnblock(true); if (res.data === 1) { setBlock(true); @@ -469,6 +474,9 @@ function Chats(){ {showBlockAlert && !block && ( )} + {unblock ? ( + + ):("")} {currentChat && isAdmin ? ( diff --git a/containers/react/src/components/Messages/ModalSetting.tsx b/containers/react/src/components/Messages/ModalSetting.tsx index 7491c192..1a76fa15 100644 --- a/containers/react/src/components/Messages/ModalSetting.tsx +++ b/containers/react/src/components/Messages/ModalSetting.tsx @@ -1,4 +1,4 @@ -import { motion } from "framer-motion"; +import { AnimatePresence, motion } from "framer-motion"; import Backdrop from "../Sidebar/Backdrop.tsx"; // import { Rank } from "../../DataBase/DataRank" import '../../styles/Messages.css' @@ -9,6 +9,7 @@ import api from "../../script/axiosApi.tsx"; import React from "react"; import {User} from "../../../interfaces.tsx" import { Socket } from "socket.io-client"; +import GreenAlert from "../Alert/GreenAlert.tsx"; const dropIn = { @@ -161,13 +162,18 @@ const ModalSetting = ({handleClose, convId, socket }: ModalSettingProps) => { handleClose(); } + const [unban, setUnban] = useState(false); + const closeUnban = () => setUnban(false); const handleBan = async () => { // console.log("ban option= ", selectedUser) try{ // console.log("user select=", selectedUser.length) if (!selectedUser.length) return ; - await api.post("/ban", {convId: convId, username: selectedUser}) + const res = await api.post("/ban", {convId: convId, username: selectedUser}) + if (res.data === 2) + setUnban(true); + if (socket) { console.log("emit to ban server") @@ -293,7 +299,7 @@ const ModalSetting = ({handleClose, convId, socket }: ModalSettingProps) => {
- Send + Invite Ban Mute Admin @@ -310,6 +316,11 @@ const ModalSetting = ({handleClose, convId, socket }: ModalSettingProps) => { onChange={(e) => setTime(e.target.value)} /> ):("")} + null}> + {unban ? ( + + ): ("")} +