diff --git a/webclient/app.css b/webclient/app.css
index 4e4cfffc48..750483b273 100644
--- a/webclient/app.css
+++ b/webclient/app.css
@@ -108,7 +108,7 @@ h1 {
margin: 2px;
bottom: 0px;
font-size: 8pt;
- word-wrap: break-word;
+ word-break: break-all;
}
.userPresence {
@@ -148,7 +148,7 @@ h1 {
}
.leftBlock {
- width: 1px;
+ width: 10em;
vertical-align: top;
background-color: #fff;
color: #888;
@@ -189,10 +189,11 @@ h1 {
.text {
background-color: #eee;
border: 1px solid #d8d8d8;
- height: 32px;
+ height: 31px;
display: inline-table;
max-width: 90%;
- word-wrap: break-word;
+ font-size: 16px;
+ /* word-wrap: break-word; */
word-break: break-all;
}
@@ -201,6 +202,11 @@ h1 {
border: 0px ! important;
}
+.membership {
+ background-color: #fff ! important;
+ border: 0px ! important;
+}
+
.image {
display: block;
max-width:320px;
@@ -210,22 +216,28 @@ h1 {
}
.bubble {
- padding: 6px;
+ padding-top: 7px;
+ padding-bottom: 5px;
padding-left: 1em;
padding-right: 1em;
+ vertical-align: middle;
+}
+
+.differentUser td {
+ padding-top: 5px ! important;
+ margin-top: 5px ! important;
}
.mine {
text-align: right;
}
-.mine .text .bubble {
- text-align: left ! important;
- background-color: #d8d8e8 ! important;
+.mine .text {
+ background-color: #f8f8ff ! important;
}
-.mine .emote .bubble {
- background-color: #fff ! important;
+.mine .text .bubble {
+ text-align: left ! important;
}
/*** Profile ***/
diff --git a/webclient/room/room.html b/webclient/room/room.html
index f965d13c55..7ec2c7cdc7 100644
--- a/webclient/room/room.html
+++ b/webclient/room/room.html
@@ -13,7 +13,7 @@
<td class="userAvatar">
<img class="userAvatarImage" ng-src="{{member.avatar_url || 'img/default-profile.jpg'}}" width="80" height="80"/>
<img class="userAvatarGradient" src="img/gradient.png" width="80" height="24"/>
- <div class="userName">{{ member.displayname || member.id.substr(0, member.id.indexOf(':')) }}<wbr/>{{ member.displayname ? "" : member.id.substr(member.id.indexOf(':')) }}</div>
+ <div class="userName">{{ member.displayname || member.id.substr(0, member.id.indexOf(':')) }}<br/>{{ member.displayname ? "" : member.id.substr(member.id.indexOf(':')) }}</div>
</td>
<td class="userPresence" ng-class="member.presenceState === 'online' ? 'online' : (member.presenceState === 'unavailable' ? 'unavailable' : '')">
{{ member.mtime_age | duration }}<br/>{{ member.mtime_age ? "ago" : "" }}
@@ -23,7 +23,8 @@
<div id="messageTableWrapper" keep-scroll>
<table id="messageTable" infinite-scroll="paginateMore()">
- <tr ng-repeat="msg in events.rooms[room_id].messages" ng-class="msg.user_id === state.user_id ? 'mine' : ''" scroll-item>
+ <tr ng-repeat="msg in events.rooms[room_id].messages"
+ ng-class="(events.rooms[room_id].messages[$index - 1].user_id !== msg.user_id ? 'differentUser' : '') + (msg.user_id === state.user_id ? ' mine' : '')" scroll-item>
<td class="leftBlock">
<div class="sender" ng-hide="events.rooms[room_id].messages[$index - 1].user_id === msg.user_id">{{ members[msg.user_id].displayname || msg.user_id }}</div>
<div class="timestamp">{{ msg.content.hsob_ts | date:'MMM d HH:mm:ss' }}</div>
@@ -32,7 +33,7 @@
<img class="avatarImage" ng-src="{{ members[msg.user_id].avatar_url || 'img/default-profile.jpg' }}" width="32" height="32"
ng-hide="events.rooms[room_id].messages[$index - 1].user_id === msg.user_id || msg.user_id === state.user_id"/>
</td>
- <td ng-class="!msg.content.membership_target ? (msg.content.msgtype === 'm.emote' ? 'emote text' : 'text') : ''">
+ <td ng-class="!msg.content.membership_target ? (msg.content.msgtype === 'm.emote' ? 'emote text' : 'text') : 'membership text'">
<div class="bubble">
<span ng-hide='msg.content.msgtype !== "m.emote"' ng-bind-html="'* ' + (members[msg.user_id].displayname || msg.user_id) + ' ' + msg.content.body | linky:'_blank'"/>
<span ng-hide='msg.content.msgtype !== "m.text"' ng-bind-html="msg.content.body | linky:'_blank'"/>
|