Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Commit 00750b4

Browse files
committed
quick and dirty RoomAvatarEvent
1 parent d689d4e commit 00750b4

File tree

7 files changed

+22
-9
lines changed

7 files changed

+22
-9
lines changed

src/TextForEvent.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
var MatrixClientPeg = require("./MatrixClientPeg");
1818
var CallHandler = require("./CallHandler");
1919
import { _t } from './languageHandler';
20+
import sdk from './index';
2021
import * as Roles from './Roles';
2122

2223
function textForMemberEvent(ev) {

src/components/structures/login/Login.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ limitations under the License.
1818
'use strict';
1919

2020
import React from 'react';
21-
import { _t } from '../../../languageHandler';
21+
import { _t, _tJsx } from '../../../languageHandler';
2222
import ReactDOM from 'react-dom';
2323
import sdk from '../../../index';
2424
import Login from '../../../Login';

src/components/views/elements/PowerSelector.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ module.exports = React.createClass({
118118
});
119119
options.push({ value: "Custom", text: "Custom level" });
120120
options = options.map((op) => {
121-
return <option value={op.value}>{op.text}</option>;
121+
return <option value={op.value} key={op.value}>{op.text}</option>;
122122
});
123123

124124
select =

src/components/views/messages/RoomAvatarEvent.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ var React = require('react');
2020

2121
var MatrixClientPeg = require("../../../MatrixClientPeg");
2222
var ContentRepo = require("matrix-js-sdk").ContentRepo;
23-
import { _tJsx } from '../../../languageHandler';
23+
import { _t, _tJsx } from '../../../languageHandler';
2424
import sdk from '../../../index';
2525
import Modal from '../../../Modal';
2626
import AccessibleButton from '../elements/AccessibleButton';
@@ -33,7 +33,7 @@ module.exports = React.createClass({
3333
mxEvent: React.PropTypes.object.isRequired,
3434
},
3535

36-
onAvatarClick: function(name, e) {
36+
onAvatarClick: function(name) {
3737
var httpUrl = MatrixClientPeg.get().mxcUrlToHttp(this.props.mxEvent.getContent().url);
3838
var ImageView = sdk.getComponent("elements.ImageView");
3939
var params = {
@@ -49,7 +49,10 @@ module.exports = React.createClass({
4949
var BaseAvatar = sdk.getComponent("avatars.BaseAvatar");
5050

5151
var room = MatrixClientPeg.get().getRoom(this.props.mxEvent.getRoomId());
52-
var name = room ? room.name : '';
52+
var name = _t('%(senderDisplayName)s changed the avatar for %(roomName)s', {
53+
senderDisplayName: senderDisplayName,
54+
roomName: room ? room.name : '',
55+
});
5356

5457
if (!ev.getContent().url || ev.getContent().url.trim().length === 0) {
5558
return (
@@ -78,9 +81,9 @@ module.exports = React.createClass({
7881
[
7982
(sub) => senderDisplayName,
8083
(sub) =>
81-
<AccessibleButton className="mx_RoomAvatarEvent_avatar"
82-
onClick={ this.onAvatarClick.bind(name) }>
83-
<BaseAvatar width="14" height="14" url={ url }
84+
<AccessibleButton key="avatar" className="mx_RoomAvatarEvent_avatar"
85+
onClick={ this.onAvatarClick.bind(this, name) }>
86+
<BaseAvatar width={14} height={14} url={ url }
8487
name={ name } />
8588
</AccessibleButton>,
8689
]

src/components/views/messages/TextualEvent.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ import sdk from '../../../index';
2424
module.exports = React.createClass({
2525
displayName: 'TextualEvent',
2626

27+
propTypes: {
28+
/* the MatrixEvent to show */
29+
mxEvent: React.PropTypes.object.isRequired,
30+
},
31+
2732
render: function() {
2833
const EmojiText = sdk.getComponent('elements.EmojiText');
2934
var text = TextForEvent.textForEvent(this.props.mxEvent);

src/components/views/rooms/EventTile.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ var eventTileTypes = {
3838
'm.call.answer' : 'messages.TextualEvent',
3939
'm.call.hangup' : 'messages.TextualEvent',
4040
'm.room.name' : 'messages.TextualEvent',
41+
'm.room.avatar' : 'messages.RoomAvatarEvent',
4142
'm.room.topic' : 'messages.TextualEvent',
4243
'm.room.third_party_invite' : 'messages.TextualEvent',
4344
'm.room.history_visibility' : 'messages.TextualEvent',

src/i18n/strings/en_EN.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -776,5 +776,8 @@
776776
"Online": "Online",
777777
"Idle": "Idle",
778778
"Offline": "Offline",
779-
"Disable URL previews for this room (affects only you)": "Disable URL previews for this room (affects only you)"
779+
"Disable URL previews for this room (affects only you)": "Disable URL previews for this room (affects only you)",
780+
"$senderDisplayName changed the room avatar to <img/>": "$senderDisplayName changed the room avatar to <img/>",
781+
"%(senderDisplayName)s removed the room avatar.": "%(senderDisplayName)s removed the room avatar.",
782+
"%(senderDisplayName)s changed the avatar for %(roomName)s": "%(senderDisplayName)s changed the avatar for %(roomName)s"
780783
}

0 commit comments

Comments
 (0)