diff --git a/front/src/components/MessageComponent.tsx b/front/src/components/MessageComponent.tsx index 9d21183..f8714d6 100644 --- a/front/src/components/MessageComponent.tsx +++ b/front/src/components/MessageComponent.tsx @@ -11,33 +11,29 @@ export default function MessageComponent({ message, user, channel }: { channel: Channel | undefined; }) { const [reply, setReply] = useState(false); - const token = localStorage.getItem("token"); const [replyContent, setReplyContent] = useState(""); const [searchedUsers, setSearchedUsers] = useState([]); const [searchedEmojis, setSearchedEmojis] = useState([]); const ref = createRef(); + const token = localStorage.getItem("token"); function getMessageArray(message: Message) { const array = [] var string = '' message.content.split(" ").forEach((word) => { - if (word.startsWith("@")) { - const mention = message.mentions.find((mention) => `@${mention.username}` === word); - if (mention) { - array.push(string) - string = '' - array.push(word) - } else { - string += word + " " - } + if (word.startsWith("@") && message.mentions.find((mention) => `@${mention.username}` === word)) { + array.push(string) + string = '' + array.push({word}) } else if (word.startsWith("https://") || word.startsWith("http://")) { array.push(string) string = '' - array.push(word) + array.push({word}) } else if (word.startsWith(":") && word.endsWith(":") && word.length > 2) { array.push(string) string = '' - array.push(word) + const emojiName = word.substring(1, word.length - 1); + array.push({emojiName}) } else { string += word + " " } @@ -81,7 +77,7 @@ export default function MessageComponent({ message, user, channel }: { const words = replyContent.toString().split(" "); const lastWord = words[words.length - 1]; - if (lastWord && lastWord.startsWith("@")) { + if (lastWord?.startsWith("@")) { const username = lastWord.slice(1); axios .get(`/api/users?search=${username}`) @@ -95,7 +91,7 @@ export default function MessageComponent({ message, user, channel }: { setSearchedUsers([]); } - if (lastWord && lastWord.startsWith(":")) { + if (lastWord?.startsWith(":")) { const emojiName = lastWord.slice(1); axios .get(`/api/emojis?search=${emojiName}`) @@ -118,37 +114,17 @@ export default function MessageComponent({ message, user, channel }: { {message.username} {new Date(message.date * 1000).toLocaleString()}
{getMessageArray(message).map((word, index) => { - if (word.startsWith("@")) { - return {word} - } else if (word.startsWith("https://") || word.startsWith("http://")) { - return {word} - } else if (word.startsWith(":") && word.endsWith(":") && word.length > 2) { - const emojiName = word.substring(1, word.length - 1); - return {emojiName} - } return {word} ; })}
- {message.has_attachments == true && ( -
- {message.attachments.map((attachment) => ( - attachment - ))} -
- )} -
- {message.content.toLocaleLowerCase().includes("gros cochon") && ( - Gros cochon - )} +
+ {message.attachments?.map((attachment) => ( + attachment + ))}
-
- {message.content.toLocaleLowerCase().includes("le poisson steve") && ( - Le poisson steve - )} -
- {(channel?.owner_id == user?.id || user?.admin == 1 || user?.id == message.user_id) && ( + {((channel && channel?.owner_id == user?.id) || user?.admin == 1 || user?.id == message.user_id) && ( )} {channel && user && !reply && ( diff --git a/front/src/pages/ChannelPage.tsx b/front/src/pages/ChannelPage.tsx index e84e0cb..6f2c316 100644 --- a/front/src/pages/ChannelPage.tsx +++ b/front/src/pages/ChannelPage.tsx @@ -123,7 +123,7 @@ export default function ChannelPage({socket}: {socket: WebSocket}) { const words = message.toString().split(" "); const lastWord = words[words.length - 1]; - if (lastWord && lastWord.startsWith("@")) { + if (lastWord?.startsWith("@")) { const username = lastWord.slice(1); axios .get(`/api/users?search=${username}`) @@ -137,7 +137,7 @@ export default function ChannelPage({socket}: {socket: WebSocket}) { setSearchedUsers([]); } - if (lastWord && lastWord.startsWith(":")) { + if (lastWord?.startsWith(":")) { const emojiName = lastWord.slice(1); axios .get(`/api/emojis?search=${emojiName}`) diff --git a/front/src/pages/Login.tsx b/front/src/pages/Login.tsx index e2db9cf..3ca637e 100644 --- a/front/src/pages/Login.tsx +++ b/front/src/pages/Login.tsx @@ -16,8 +16,8 @@ export default function Login() { localStorage.setItem("token", res.data.token); navigate("/"); }) - .catch((err) => { - alert(err.response); + .catch(() => { + alert("Login failed"); }); } diff --git a/front/src/pages/Register.tsx b/front/src/pages/Register.tsx index 17265d6..0fc7ce5 100644 --- a/front/src/pages/Register.tsx +++ b/front/src/pages/Register.tsx @@ -18,8 +18,8 @@ export default function Register () { localStorage.setItem("token", res.data.token); navigate("/"); }) - .catch((err) => { - alert(err.response); + .catch(() => { + alert("Register failed"); } ); })