forked from matrix/element-web
group messages together from the same user
This commit is contained in:
parent
a5d24329c2
commit
341fe868e4
|
@ -29,6 +29,16 @@ limitations under the License.
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mx_MessageTile_continuation {
|
||||||
|
margin-top: 8px ! important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mx_MessageTile_continuation .mx_MessageTile_avatar,
|
||||||
|
.mx_MessageTile_continuation .mx_SenderProfile
|
||||||
|
{
|
||||||
|
display: none ! important;
|
||||||
|
}
|
||||||
|
|
||||||
.mx_MessageTile .mx_SenderProfile {
|
.mx_MessageTile .mx_SenderProfile {
|
||||||
color: #acacac;
|
color: #acacac;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
|
@ -43,6 +53,8 @@ limitations under the License.
|
||||||
}
|
}
|
||||||
|
|
||||||
.mx_MessageTile_content {
|
.mx_MessageTile_content {
|
||||||
|
padding-right: 100px;
|
||||||
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mx_MessageTile_sending {
|
.mx_MessageTile_sending {
|
||||||
|
|
|
@ -52,7 +52,8 @@ module.exports = React.createClass({
|
||||||
mx_MessageTile: true,
|
mx_MessageTile: true,
|
||||||
mx_MessageTile_sending: this.props.mxEvent.status == 'sending',
|
mx_MessageTile_sending: this.props.mxEvent.status == 'sending',
|
||||||
mx_MessageTile_notSent: this.props.mxEvent.status == 'not_sent',
|
mx_MessageTile_notSent: this.props.mxEvent.status == 'not_sent',
|
||||||
mx_MessageTile_highlight: this.shouldHighlight()
|
mx_MessageTile_highlight: this.shouldHighlight(),
|
||||||
|
mx_MessageTile_continuation: this.props.continuation,
|
||||||
});
|
});
|
||||||
return (
|
return (
|
||||||
<div className={classes}>
|
<div className={classes}>
|
||||||
|
|
|
@ -226,9 +226,20 @@ module.exports = {
|
||||||
for (var i = this.state.room.timeline.length-1; i >= 0 && count < this.state.messageCap; --i) {
|
for (var i = this.state.room.timeline.length-1; i >= 0 && count < this.state.messageCap; --i) {
|
||||||
var mxEv = this.state.room.timeline[i];
|
var mxEv = this.state.room.timeline[i];
|
||||||
var TileType = tileTypes[mxEv.getType()];
|
var TileType = tileTypes[mxEv.getType()];
|
||||||
|
var continuation = false;
|
||||||
|
if (i > 0 &&
|
||||||
|
count < this.state.messageCap - 1 &&
|
||||||
|
this.state.room.timeline[i].sender &&
|
||||||
|
this.state.room.timeline[i - 1].sender &&
|
||||||
|
this.state.room.timeline[i].sender.userId ===
|
||||||
|
this.state.room.timeline[i - 1].sender.userId)
|
||||||
|
{
|
||||||
|
console.log("i=" + i + ", continuation=true");
|
||||||
|
continuation = true;
|
||||||
|
}
|
||||||
if (!TileType) continue;
|
if (!TileType) continue;
|
||||||
ret.unshift(
|
ret.unshift(
|
||||||
<TileType key={mxEv.getId()} mxEvent={mxEv} />
|
<TileType key={mxEv.getId()} mxEvent={mxEv} continuation={continuation}/>
|
||||||
);
|
);
|
||||||
++count;
|
++count;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue