Implement TextualEvent tiles for im.vector.modular.widgets
E.g. "Bob added a Acme widget", "Susan removed a Giraffe widget" The name is calculated by taking the `name` in the event content, falling back on the `type`, falling back on the previous content `type`. This is then capitalised.
This commit is contained in:
parent
0935f26cf3
commit
acc54b97f1
3 changed files with 27 additions and 1 deletions
|
@ -248,6 +248,26 @@ function textForPowerEvent(event) {
|
|||
});
|
||||
}
|
||||
|
||||
function textForWidgetEvent(event) {
|
||||
const senderName = event.sender ? event.sender.name : event.getSender();
|
||||
const previousContent = event.getPrevContent() ? event.getPrevContent() : {};
|
||||
const {name, type} = event.getContent() ? event.getContent() : {};
|
||||
let widgetName = widgetName || name || type || previousContent.type || '';
|
||||
|
||||
// Apply sentence case
|
||||
widgetName = widgetName ? widgetName[0].toUpperCase() + widgetName.slice(1).toLowerCase() + ' ' : '';
|
||||
|
||||
if (event.getContent().url) {
|
||||
return _t('%(senderName)s added a %(widgetName)swidget', {
|
||||
senderName, widgetName,
|
||||
});
|
||||
} else {
|
||||
return _t('%(senderName)s removed a %(widgetName)swidget', {
|
||||
senderName, widgetName,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var handlers = {
|
||||
'm.room.message': textForMessageEvent,
|
||||
'm.room.name': textForRoomNameEvent,
|
||||
|
@ -260,6 +280,8 @@ var handlers = {
|
|||
'm.room.history_visibility': textForHistoryVisibilityEvent,
|
||||
'm.room.encryption': textForEncryptionEvent,
|
||||
'm.room.power_levels': textForPowerEvent,
|
||||
|
||||
'im.vector.modular.widgets': textForWidgetEvent,
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
|
|
|
@ -44,6 +44,8 @@ var eventTileTypes = {
|
|||
'm.room.history_visibility' : 'messages.TextualEvent',
|
||||
'm.room.encryption' : 'messages.TextualEvent',
|
||||
'm.room.power_levels' : 'messages.TextualEvent',
|
||||
|
||||
'im.vector.modular.widgets': 'messages.TextualEvent',
|
||||
};
|
||||
|
||||
var MAX_READ_AVATARS = 5;
|
||||
|
|
|
@ -969,5 +969,7 @@
|
|||
"Automatically replace plain text Emoji": "Automatically replace plain text Emoji",
|
||||
"Failed to upload image": "Failed to upload image",
|
||||
"Failed to update group": "Failed to update group",
|
||||
"Hide avatars in user and room mentions": "Hide avatars in user and room mentions"
|
||||
"Hide avatars in user and room mentions": "Hide avatars in user and room mentions",
|
||||
"%(senderName)s added a %(widgetName)swidget": "%(senderName)s added a %(widgetName)swidget",
|
||||
"%(senderName)s removed a %(widgetName)swidget": "%(senderName)s removed a %(widgetName)swidget"
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue