diff --git a/frontend-next/src/components/app/datatypes.js b/frontend-next/src/components/app/datatypes.js index e03dfff..973d383 100644 --- a/frontend-next/src/components/app/datatypes.js +++ b/frontend-next/src/components/app/datatypes.js @@ -1,8 +1,14 @@ import Link from "next/link" import { useEffect, useState } from "react"; +const Filter = require('bad-words') +const filter = new Filter(); + +import {database} from "../../../firebase-config" +import {remove, ref} from "firebase/database" // Icons import PersonIcon from '@mui/icons-material/Person'; +import DeleteOutlineIcon from '@mui/icons-material/DeleteOutline'; // Colors for Messages const userColors = [ @@ -95,18 +101,26 @@ const generateColor = (user_str) => { * @props {JSON} chatObj - Chat Object * @returns {Object} - Chat Message Component */ -export function Chat({ chatObj }) { +export function Chat({ chatObj, user, path }) { + + function deleteMessage() { + remove(ref(database, `/rooms/${path}/chats/${chatObj.timestamp}-${chatObj.user}`)) + } + var message = RMF(chatObj.body) + if (message) + message = filter.clean(message) return (
- + {user.uid == chatObj.uid && {deleteMessage()}}/>} + {chatObj.user} - : {message} + {message}
{new Date(chatObj.timestamp).toLocaleString(dateOptions)} diff --git a/frontend-next/src/components/app/friends/page.js b/frontend-next/src/components/app/friends/page.js index c9698a8..b83ed80 100644 --- a/frontend-next/src/components/app/friends/page.js +++ b/frontend-next/src/components/app/friends/page.js @@ -35,6 +35,8 @@ export function DMRoom({ roomObj, user }) { chatsArr.push( ); diff --git a/frontend-next/src/components/app/page/chat.js b/frontend-next/src/components/app/page/chat.js index 1af3db9..1374ea2 100644 --- a/frontend-next/src/components/app/page/chat.js +++ b/frontend-next/src/components/app/page/chat.js @@ -35,6 +35,8 @@ export function ChatRoom({ roomObj, user }) { chatsArr.push( );