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)}`; return `https://matrix.to/#/${encodeURIComponent(this.sender)}`;
} }
get eventId() {
return this._entry.id;
}
get displayName() { get displayName() {
return this._entry.displayName || this.sender; return this._entry.displayName || this.sender;
} }
@ -79,11 +83,11 @@ export class BaseMessageTile extends SimpleTile {
} }
get date() { 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() { 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() { get isOwn() {

View file

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