aboutsummaryrefslogtreecommitdiff
path: root/src/MessageDisplay/MessageDisplay.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/MessageDisplay/MessageDisplay.tsx')
-rw-r--r--src/MessageDisplay/MessageDisplay.tsx111
1 files changed, 59 insertions, 52 deletions
diff --git a/src/MessageDisplay/MessageDisplay.tsx b/src/MessageDisplay/MessageDisplay.tsx
index 19853ca..92e9e79 100644
--- a/src/MessageDisplay/MessageDisplay.tsx
+++ b/src/MessageDisplay/MessageDisplay.tsx
@@ -4,57 +4,64 @@ import { LangContext } from "../context";
import strings from "../Intl/strings.json";
import "./MessageDisplay.css";
export const MessageDisplay = ({
- type,
- fromUserId,
- toUserId,
- content,
- timeMillis,
+ type,
+ fromUserId,
+ toUserId,
+ content,
+ timeMillis,
}: Message): React.ReactElement<Message> => {
- const dateTime: Date = new Date(timeMillis);
- const lang = useContext(LangContext);
- const msgPage = strings[lang].chat;
- /* FIXED funny error
- * DESCRIPTION
- * The line below was
- * return (<p>[{dateTime.toLocaleString(Intl.DateTimeFormat().resolvedOptions().timeZone)}]...</p>)
- * The line incorrectly generated a value of "UTC" as the parameter to toLocaleString()
- * While "UTC" is an accepted string value, in EEST, aka. "Europe/Athens" timezone string is not an acceptable parameter.
- * This caused the return statement to fail, and the message fails to render, despite it being correctly committed to the db.
- * Funny clown moment 🤡
- */
- const timeString = `${
- dateTime.getHours() > 12
- ? dateTime.getHours() - 12
- : dateTime.getHours()
- }:${dateTime.getMinutes()} ${dateTime.getHours() > 12 ? "PM" : "AM"}`;
- switch (type) {
- case MessageType.HELLO as MessageType:
- return (
- <p className="msg">
- [{timeString}]{" "}
- {msgPage.joinMessage.replace("$userName", fromUserId)}
- </p>
- );
- case MessageType.MESSAGE as MessageType:
- return (
- <p className="msg">
- [{timeString}]{" "}
- {msgPage.serverMessage
- .replace("$userName", fromUserId)
- .replace("$content", content)}
- </p>
- );
- case MessageType.DATA as MessageType:
- return <></>;
- case MessageType.CHNAME as MessageType:
- return <></>;
- default:
- console.error("Illegal MessageType reported!");
- return (
- <p className="msg-err">
- [{timeString}] **THIS MESSAGE CANNOT BE CORRECTLY SHOWN
- BECAUSE THE CLIENT ENCOUNTERED AN ERROR**
- </p>
- );
- }
+ const dateTime: Date = new Date(timeMillis);
+ const lang = useContext(LangContext);
+ const msgPage = strings[lang].chat;
+ /* FIXED funny error
+ * DESCRIPTION
+ * The line below was
+ * return (<p>[{dateTime.toLocaleString(Intl.DateTimeFormat().resolvedOptions().timeZone)}]...</p>)
+ * The line incorrectly generated a value of "UTC" as the parameter to toLocaleString()
+ * While "UTC" is an accepted string value, in EEST, aka. "Europe/Athens" timezone string is not an acceptable parameter.
+ * This caused the return statement to fail, and the message fails to render, despite it being correctly committed to the db.
+ * Funny clown moment 🤡
+ */
+ const timeString = `${
+ dateTime.getHours() > 12
+ ? dateTime.getHours() - 12
+ : dateTime.getHours()
+ }:${dateTime.getMinutes()} ${dateTime.getHours() > 12 ? "PM" : "AM"}`;
+ switch (type) {
+ case MessageType.HELLO as MessageType:
+ return (
+ <p className="msg">
+ [{timeString}]{" "}
+ {msgPage.joinMessage.replace(
+ "$userName",
+ fromUserId
+ )}
+ </p>
+ );
+ case MessageType.MESSAGE as MessageType:
+ return (
+ <p className="msg">
+ [{timeString}]{" "}
+ {msgPage.serverMessage
+ .replace(
+ "$userName",
+ fromUserId
+ )
+ .replace("$content", content)}
+ </p>
+ );
+ case MessageType.DATA as MessageType:
+ return <></>;
+ case MessageType.CHNAME as MessageType:
+ return <></>;
+ default:
+ console.error("Illegal MessageType reported!");
+ return (
+ <p className="msg-err">
+ [{timeString}] **THIS MESSAGE CANNOT BE
+ CORRECTLY SHOWN BECAUSE THE CLIENT
+ ENCOUNTERED AN ERROR**
+ </p>
+ );
+ }
};