Use UTC timestamps and add data attribute for easy targeting in tests

This commit is contained in:
Eric Eastwood 2022-02-24 02:41:54 -06:00
parent 6005fcfc55
commit a4cdde6f53
2 changed files with 17 additions and 10 deletions

View File

@ -49,6 +49,10 @@ export class BaseMessageTile extends SimpleTile {
return `https://matrix.to/#/${encodeURIComponent(this.sender)}`;
}
get eventId() {
return this._entry.id;
}
get displayName() {
return this._entry.displayName || this.sender;
}
@ -79,11 +83,11 @@ export class BaseMessageTile extends SimpleTile {
}
get date() {
return this._date && this._date.toLocaleDateString({}, {month: "numeric", day: "numeric"});
return this._date && this._date.toLocaleDateString({}, {month: "numeric", day: "numeric", timeZone: 'UTC'});
}
get time() {
return this._date && this._date.toLocaleTimeString({}, {hour: "numeric", minute: "2-digit"});
return this._date && this._date.toLocaleTimeString({}, {hour: "numeric", minute: "2-digit", timeZone: 'UTC'});
}
get isOwn() {

View File

@ -40,14 +40,17 @@ export class BaseMessageView extends TemplateView {
if (this._interactive) {
children.push(t.button({className: "Timeline_messageOptions"}, "⋯"));
}
const li = t.el(this._tagName, {className: {
"Timeline_message": true,
own: vm.isOwn,
unsent: vm.isUnsent,
unverified: vm.isUnverified,
disabled: !this._interactive,
continuation: vm => vm.isContinuation,
}}, children);
const li = t.el(this._tagName, {
className: {
"Timeline_message": true,
own: vm.isOwn,
unsent: vm.isUnsent,
unverified: vm.isUnverified,
disabled: !this._interactive,
continuation: vm => vm.isContinuation,
},
'data-event-id': vm.eventId
}, children);
// given that there can be many tiles, we don't add
// unneeded DOM nodes in case of a continuation, and we add it
// with a side-effect binding to not have to create sub views,