Skip to content
This repository was archived by the owner on Sep 7, 2020. It is now read-only.

Commit 003a451

Browse files
committed
Format time as part of chat bubble tooltip
1 parent 7dc19b9 commit 003a451

2 files changed

Lines changed: 36 additions & 5 deletions

File tree

oh_queue/static/js/components/chat_box.js

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ function ChatBox({ currentUser, socket, id, mode }) {
2323
if (!typed.trim()) {
2424
return;
2525
}
26+
// Time is initialized in "send_chat_message".
2627
app.makeRequest("send_chat_message", {
2728
content: typed,
2829
mode,
@@ -54,24 +55,54 @@ function ChatBox({ currentUser, socket, id, mode }) {
5455
}, [messages]);
5556

5657
const body = messages.map(([sender, message, time], i) => {
58+
function formatTitle(name, time) {
59+
if (name === undefined) {
60+
return time
61+
} else if (time === undefined) {
62+
return name
63+
}
64+
return name + ' | ' + time;
65+
}
66+
5767
if (sender.id === currentUser.id) {
5868
return (
5969
<div className="my-chat-bubble">
60-
<div className="chat-text">{message}{time}</div>
70+
<div
71+
className="chat-text"
72+
data-toggle="tooltip"
73+
data-placement="right"
74+
title={formatTitle(time)}
75+
>
76+
{message}
77+
</div>
6178
</div>
6279
)
6380
} else if (messages[i + 1] && sender.id === messages[i + 1][0].id) {
6481
return (
6582
<div className="chat-bubble">
6683
<div className="chat-icon none">{sender.shortName[0]}</div>
67-
<div className="chat-text" data-toggle="tooltip" data-placement="right" title={sender.name}>{message}{time}</div>
84+
<div
85+
className="chat-text"
86+
data-toggle="tooltip"
87+
data-placement="right"
88+
title={formatTitle(sender.name, time)}
89+
>
90+
{message}
91+
</div>
6892
</div>
6993
)
7094
} else {
7195
return (
7296
<div className="chat-bubble">
7397
<div className="chat-icon">{sender.shortName[0]}</div>
74-
<div className="chat-text" data-toggle="tooltip" data-placement="right" title={sender.name}>{message}{time}</div>
98+
<div
99+
className="chat-text"
100+
data-toggle="tooltip"
101+
data-placement="right"
102+
title={formatTitle(sender.name, time)}
103+
>
104+
{message}
105+
</div>
75106
</div>
76107
)
77108
}

oh_queue/views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1155,8 +1155,8 @@ def send_chat_message(data):
11551155
event_id = data["id"]
11561156

11571157
data["sender"] = user_json(current_user)
1158-
timeStr = get_current_time().strftime("%a %-I:%M%p")
1159-
data["time"] = timeStr
1158+
message_time = get_current_time().strftime("%a %-I:%M%p")
1159+
data["time"] = message_time
11601160

11611161
if mode == "appointment":
11621162
appointment = Appointment.query.filter_by(course=get_course(), id=event_id).one()

0 commit comments

Comments
 (0)