Skip to content

Commit 91ab7f5

Browse files
committed
Message Reply Adjustments
1 parent 6f150ae commit 91ab7f5

File tree

4 files changed

+42
-9
lines changed

4 files changed

+42
-9
lines changed

chat.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,11 @@
4848
<div class="message">
4949
<div class="first-message">✨ First-time Chatter</div>
5050
<div class="shared-chat"><span class="origin"><i class="fa-solid fa-comments"></i> <strong></strong></span></div>
51+
5152
<div class="header"></div>
5253

54+
<div class="reply"><i class="fa-solid fa-comment-dots"></i> </div>
55+
5356
<div class="info">
5457
<span class="timestamp"></span>
5558
<span class="platform"></span>
@@ -59,8 +62,6 @@
5962
<span class="user"></span>
6063
</div>
6164

62-
<div class="reply"><i class="fa-solid fa-arrow-turn-up"></i> </div>
63-
6465
<div class="actual-message"></div>
6566
</div>
6667

css/chatrd.css

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ body {
169169
}
170170

171171
#chat .item .reply i {
172-
transform: rotate(90deg);
172+
/*transform: rotate(90deg);*/
173173
margin: 0 5px;
174174
}
175175

@@ -464,6 +464,10 @@ body {
464464
transform: translateY(-3px);
465465
}
466466

467+
#chat.oneline .item .reply {
468+
margin: 0 0 -5px 0;
469+
}
470+
467471
#chat.oneline .event .info {
468472
display: inline-block;
469473
}

js/modules/kick/module.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ async function kickChatMessage(data) {
303303
if (data.type == "reply") {
304304
classes.push('reply');
305305
var replyHTML = await getKickEmotes(data.metadata.original_message.content);
306-
reply.insertAdjacentHTML('beforeend', ` <strong>${data.metadata.original_sender.username}:</strong> ${replyHTML}`);
306+
reply.insertAdjacentHTML('beforeend', `Replying to <strong>${data.metadata.original_sender.username}:</strong> ${replyHTML}`);
307307
}
308308
else { reply.remove(); }
309309

js/modules/twitch/module.js

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,12 +157,11 @@ async function twitchChatMessage(data) {
157157

158158
header.remove();
159159

160+
let streamData = data;
161+
160162
user.style.color = data.message.color;
161163
user.textContent = data.message.displayName;
162164

163-
message.textContent = data.message.message;
164-
await getTwitchEmotes(data, message);
165-
166165
if (data.message.isMe) {
167166
message.style.color = data.message.color;
168167
}
@@ -181,8 +180,32 @@ async function twitchChatMessage(data) {
181180

182181
if (data.message.isReply) {
183182
classes.push('reply');
184-
reply.textContent = data.message.reply.msgBody;
185-
reply.insertAdjacentHTML('afterbegin', ` <strong>${escapeHTML(data.message.reply.userName)}:</strong> `);
183+
184+
let offset = 0;
185+
let replyTo = `@${data.message.reply.userName}`;
186+
let replyMessage = streamData.message.message;
187+
188+
if (replyMessage.startsWith(replyTo)) {
189+
let startIndex = replyTo.length;
190+
if (replyMessage[startIndex] === " ") {
191+
startIndex++;
192+
}
193+
replyMessage = replyMessage.slice(startIndex);
194+
offset = startIndex;
195+
196+
let replyEmotes = (streamData.emotes || [])
197+
.map(e => ({
198+
...e,
199+
startIndex: e.startIndex - offset,
200+
endIndex: e.endIndex - offset
201+
}))
202+
.sort((a, b) => a.startIndex - b.startIndex);
203+
204+
streamData.message.message = replyMessage;
205+
streamData.emotes = replyEmotes;
206+
}
207+
208+
reply.insertAdjacentHTML('beforeend', ` <strong>Replying to ${escapeHTML(data.message.reply.userName)}:</strong> ${data.message.reply.msgBody}`);
186209
}
187210
else { reply.remove(); }
188211

@@ -210,6 +233,11 @@ async function twitchChatMessage(data) {
210233
}
211234
else { pronoun.remove(); }
212235

236+
237+
238+
message.textContent = streamData.message.message;
239+
await getTwitchEmotes(streamData, message);
240+
213241
addMessageItem('twitch', clone, classes, userId, messageId);
214242
}
215243

0 commit comments

Comments
 (0)