|
@@ -69771,6 +69771,22 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
this.scrollDown();
|
|
this.scrollDown();
|
|
},
|
|
},
|
|
|
|
|
|
|
|
+ getImmediateJoinNotification(el, nick) {
|
|
|
|
+ while (!_.isNil(el)) {
|
|
|
|
+ const data = _.get(el, 'dataset', {});
|
|
|
|
+
|
|
|
|
+ if (!_.includes(_.get(el, 'classList', []), 'chat-info')) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (moment(el.getAttribute('data-isodate')).isSame(new Date(), "day") && (data.join === `"${nick}"` || data.leavejoin === `"${nick}"`)) {
|
|
|
|
+ return el;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ el = el.previousElementSibling;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+
|
|
showLeaveNotification(occupant) {
|
|
showLeaveNotification(occupant) {
|
|
if (_.includes(occupant.get('states'), '303') || _.includes(occupant.get('states'), '307')) {
|
|
if (_.includes(occupant.get('states'), '303') || _.includes(occupant.get('states'), '307')) {
|
|
return;
|
|
return;
|
|
@@ -69778,10 +69794,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
|
|
|
const nick = occupant.get('nick'),
|
|
const nick = occupant.get('nick'),
|
|
stat = occupant.get('status'),
|
|
stat = occupant.get('status'),
|
|
- last_el = this.content.lastElementChild,
|
|
|
|
- data = _.get(last_el, 'dataset', {});
|
|
|
|
|
|
+ last_join_el = this.getImmediateJoinNotification(this.content.lastElementChild, nick),
|
|
|
|
+ data = _.get(last_join_el, 'dataset', {});
|
|
|
|
|
|
- if (last_el && _.includes(_.get(last_el, 'classList', []), 'chat-info') && moment(last_el.getAttribute('data-isodate')).isSame(new Date(), "day") && (data.join === `"${nick}"` || data.leavejoin === `"${nick}"`)) {
|
|
|
|
|
|
+ if (last_join_el) {
|
|
let message;
|
|
let message;
|
|
|
|
|
|
if (data.join === `"${nick}"`) {
|
|
if (data.join === `"${nick}"`) {
|
|
@@ -69791,13 +69807,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
message = __('%1$s has entered and left the groupchat. "%2$s"', nick, stat);
|
|
message = __('%1$s has entered and left the groupchat. "%2$s"', nick, stat);
|
|
}
|
|
}
|
|
|
|
|
|
- last_el.outerHTML = tpl_info({
|
|
|
|
|
|
+ let el = this.content.lastElementChild;
|
|
|
|
+ el.insertAdjacentElement('afterend', last_join_el);
|
|
|
|
+ last_join_el.outerHTML = tpl_info({
|
|
'data': `data-joinleave="${nick}"`,
|
|
'data': `data-joinleave="${nick}"`,
|
|
'isodate': moment().format(),
|
|
'isodate': moment().format(),
|
|
'extra_classes': 'chat-event',
|
|
'extra_classes': 'chat-event',
|
|
'message': message
|
|
'message': message
|
|
});
|
|
});
|
|
- const el = this.content.lastElementChild;
|
|
|
|
|
|
+ el = this.content.lastElementChild;
|
|
setTimeout(() => u.addClass('fade-out', el), 5000);
|
|
setTimeout(() => u.addClass('fade-out', el), 5000);
|
|
setTimeout(() => el.parentElement && el.parentElement.removeChild(el), 5250);
|
|
setTimeout(() => el.parentElement && el.parentElement.removeChild(el), 5250);
|
|
} else if (data.leavejoin === `"${nick}"`) {
|
|
} else if (data.leavejoin === `"${nick}"`) {
|
|
@@ -69807,7 +69825,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
message = __('%1$s has left the groupchat. "%2$s"', nick, stat);
|
|
message = __('%1$s has left the groupchat. "%2$s"', nick, stat);
|
|
}
|
|
}
|
|
|
|
|
|
- last_el.outerHTML = tpl_info({
|
|
|
|
|
|
+ last_join_el.outerHTML = tpl_info({
|
|
'data': `data-leave="${nick}"`,
|
|
'data': `data-leave="${nick}"`,
|
|
'isodate': moment().format(),
|
|
'isodate': moment().format(),
|
|
'extra_classes': 'chat-event',
|
|
'extra_classes': 'chat-event',
|
|
@@ -69829,14 +69847,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
'extra_classes': 'chat-event',
|
|
'extra_classes': 'chat-event',
|
|
'data': `data-leave="${nick}"`
|
|
'data': `data-leave="${nick}"`
|
|
};
|
|
};
|
|
-
|
|
|
|
- if (last_el && _.includes(_.get(last_el, 'classList', []), 'chat-info') && _.get(last_el, 'dataset', {}).leavejoin === `"${nick}"`) {
|
|
|
|
- last_el.outerHTML = tpl_info(data);
|
|
|
|
- } else {
|
|
|
|
- const el = u.stringToElement(tpl_info(data));
|
|
|
|
- this.content.insertAdjacentElement('beforeend', el);
|
|
|
|
- this.insertDayIndicator(el);
|
|
|
|
- }
|
|
|
|
|
|
+ const el = u.stringToElement(tpl_info(data));
|
|
|
|
+ this.content.insertAdjacentElement('beforeend', el);
|
|
|
|
+ this.insertDayIndicator(el);
|
|
}
|
|
}
|
|
|
|
|
|
this.scrollDown();
|
|
this.scrollDown();
|