summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthew Hodgson <matthew@matrix.org>2014-08-17 23:49:34 +0100
committerMatthew Hodgson <matthew@matrix.org>2014-08-17 23:49:34 +0100
commit62b67879cd5c53147ea543eeb56ec9acc3ea5edc (patch)
tree884b18be65231f55a7c50dda979ce341f9c438b3
parentimplement html5 notifications. (have to be explicitly requested under Config) (diff)
downloadsynapse-62b67879cd5c53147ea543eeb56ec9acc3ea5edc.tar.xz
make text font sizes consistent
add a gap between bubble-blocks from different users
make sent-text lighter than received-text
wrap the memberslist text more sensibly
fix height of bubbles to match that of avatars (32px)
-rw-r--r--webclient/app.css32
-rw-r--r--webclient/room/room.html7
2 files changed, 26 insertions, 13 deletions
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'"/>