Jelajahi Sumber

Render chat head, content and message form as flex items.

JC Brand 7 tahun lalu
induk
melakukan
b154d6d534

+ 3 - 5
css/converse-muc-embedded.css

@@ -43,11 +43,9 @@
       height: calc(100% - 55px); }
     #conversejs.converse-embedded .chatroom .box-flyout .occupants-heading {
       font-size: 120%; }
-    #conversejs.converse-embedded .chatroom .box-flyout .chat-content {
-      height: calc(100% - 97px); }
-      #conversejs.converse-embedded .chatroom .box-flyout .chat-content .chat-message {
-        margin: 0.5em;
-        font-size: 120%; }
+    #conversejs.converse-embedded .chatroom .box-flyout .chat-content .chat-message {
+      margin: 0.5em;
+      font-size: 120%; }
     #conversejs.converse-embedded .chatroom .box-flyout .sendXMPPMessage .chat-textarea {
       padding: 0.5em;
       font-size: 110%; }

+ 17 - 19
css/converse.css

@@ -5228,6 +5228,9 @@ body.reset {
     background-color: #e7f7ee; }
   #converse-embedded-chat .chatbox .box-flyout,
   #conversejs .chatbox .box-flyout {
+    display: flex;
+    flex-direction: column;
+    justify-content: space-between;
     background-color: white;
     box-shadow: 1px 3px 5px 3px rgba(0, 0, 0, 0.4);
     height: 450px;
@@ -5261,13 +5264,14 @@ body.reset {
       width: 100%; }
   #converse-embedded-chat .chatbox .chat-body,
   #conversejs .chatbox .chat-body {
-    background-color: white;
+    display: flex;
+    flex-direction: column;
+    justify-content: space-between;
+    height: 100%;
+    background-color: #3AA569;
     border-bottom-left-radius: 4px;
     border-bottom-right-radius: 4px;
-    border-top: 0;
-    height: 289px;
-    height: -webkit-calc(100% - 55px);
-    height: calc(100% - 55px); }
+    border-top: 0; }
     @media screen and (max-height: 450px) {
       #converse-embedded-chat .chatbox .chat-body,
       #conversejs .chatbox .chat-body {
@@ -5363,23 +5367,20 @@ body.reset {
     white-space: nowrap; }
   #converse-embedded-chat .chatbox .chat-content,
   #conversejs .chatbox .chat-content {
-    position: relative;
     padding: 0.5em;
     font-size: 13px;
     color: #777;
     overflow-y: auto;
     border: 0;
     background-color: #ffffff;
-    line-height: 1.3em;
-    height: 206px;
-    height: calc(100% - 96px); }
+    line-height: 1.3em; }
     #converse-embedded-chat .chatbox .chat-content .toggle-spoiler:before,
     #conversejs .chatbox .chat-content .toggle-spoiler:before {
       padding-right: 0.25em;
       whitespace: nowrap; }
   #converse-embedded-chat .chatbox .chat-content-sendbutton,
   #conversejs .chatbox .chat-content-sendbutton {
-    height: calc(100% - 128px); }
+    height: calc(100% - 93px); }
   #converse-embedded-chat .chatbox .dropdown,
   #conversejs .chatbox .dropdown {
     /* status dropdown styles */
@@ -5397,12 +5398,9 @@ body.reset {
     border-bottom-left-radius: 4px;
     background-clip: padding-box;
     background-color: white;
-    border-top: 1px solid #BBB;
     border: 0;
     margin: 0;
-    padding: 0;
-    position: relative;
-    height: 95px; }
+    padding: 0; }
     @media screen and (max-height: 450px) {
       #converse-embedded-chat .chatbox .sendXMPPMessage,
       #conversejs .chatbox .sendXMPPMessage {
@@ -5420,11 +5418,10 @@ body.reset {
       border-top-right-radius: 0;
       border-bottom-right-radius: 4px;
       border-bottom-left-radius: 4px;
-      height: 70px;
       padding: 0.5em;
       width: 100%;
       border: none;
-      resize: none; }
+      min-height: 60px; }
       #converse-embedded-chat .chatbox .sendXMPPMessage .chat-textarea.spoiler,
       #conversejs .chatbox .sendXMPPMessage .chat-textarea.spoiler {
         height: 42px; }
@@ -5444,7 +5441,6 @@ body.reset {
       box-sizing: border-box;
       margin: 0;
       padding: 0.25em;
-      height: 25px;
       display: block;
       border-top: 8px solid #3AA569;
       background-color: white;
@@ -6184,6 +6180,7 @@ body.reset {
         height: 100vh; } }
     #converse-embedded-chat .chatroom .box-flyout .chatroom-body,
     #conversejs .chatroom .box-flyout .chatroom-body {
+      flex-direction: row;
       border-bottom-right-radius: 4px;
       border-bottom-left-radius: 4px;
       background-color: white;
@@ -6218,6 +6215,8 @@ body.reset {
         padding: 2em 2em 0 2em; }
       #converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-area,
       #conversejs .chatroom .box-flyout .chatroom-body .chat-area {
+        display: flex;
+        flex-direction: column;
         word-wrap: break-word;
         min-width: 200px; }
         #converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-area .new-msgs-indicator,
@@ -6226,6 +6225,7 @@ body.reset {
           max-width: 70%; }
         #converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-area .chat-content,
         #conversejs .chatroom .box-flyout .chatroom-body .chat-area .chat-content {
+          height: 100%;
           padding: 0.5em; }
         #converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-area.full,
         #conversejs .chatroom .box-flyout .chatroom-body .chat-area.full {
@@ -6339,8 +6339,6 @@ body.reset {
         font-size: 14px;
         height: 289px;
         width: 100%;
-        height: -webkit-calc(100% - 55px);
-        height: calc(100% - 55px);
         overflow-y: auto;
         position: absolute; }
         #converse-embedded-chat .chatroom .box-flyout .chatroom-body .chatroom-form-container .validation-message,

+ 22 - 310
css/inverse.css

@@ -10,292 +10,6 @@
     https://coolors.co/app/264653-2a9d8f-e9c46a-f4a261-e76f51
     http://paletton.com/#uid=70a0u0kkNs+b4JOgryLpxqpsbkI
  */
-@font-face {
-  font-family: 'Converse-js';
-  src: url("../fonticons/fonts/icomoon.eot?wvi0ht");
-  src: url("../fonticons/fonts/icomoon.eot?wvi0ht#iefix") format("embedded-opentype"), url("../fonticons/fonts/icomoon.ttf?wvi0ht") format("truetype"), url("../fonticons/fonts/icomoon.woff?wvi0ht") format("woff"), url("../fonticons/fonts/icomoon.svg?wvi0ht#icomoon") format("svg");
-  font-weight: normal;
-  font-style: normal; }
-.icon-conversejs {
-  padding-right: 0.2em;
-  font-family: 'Converse-js';
-  speak: none;
-  font-style: normal;
-  font-weight: normal;
-  font-variant: normal;
-  text-transform: none;
-  line-height: 1;
-  /* Better Font Rendering =========== */
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale; }
-
-.icon-conversejs:before {
-  content: "\e600"; }
-
-#converse-embedded-chat .icon-address-book:before,
-#conversejs .icon-address-book:before {
-  content: "\270f"; }
-#converse-embedded-chat .icon-attachment:before,
-#conversejs .icon-attachment:before {
-  content: "\e032"; }
-#converse-embedded-chat .icon-away:before,
-#conversejs .icon-away:before {
-  content: "\25fb"; }
-#converse-embedded-chat .icon-blocked:before,
-#conversejs .icon-blocked:before {
-  content: "\2718"; }
-#converse-embedded-chat .icon-bold:before,
-#conversejs .icon-bold:before {
-  content: "\e04d"; }
-#converse-embedded-chat .icon-bubbles2:before,
-#conversejs .icon-bubbles2:before {
-  content: "\e016"; }
-#converse-embedded-chat .icon-bubbles3:before,
-#conversejs .icon-bubbles3:before {
-  content: "\e017"; }
-#converse-embedded-chat .icon-bubbles:before,
-#conversejs .icon-bubbles:before {
-  content: "\e015"; }
-#converse-embedded-chat .icon-busy:before,
-#conversejs .icon-busy:before {
-  content: "\e004"; }
-#converse-embedded-chat .icon-dnd:before,
-#conversejs .icon-dnd:before {
-  content: "\e004"; }
-#converse-embedded-chat .icon-cancel-circle:before,
-#conversejs .icon-cancel-circle:before {
-  content: "\e058"; }
-#converse-embedded-chat .icon-checkmark:before,
-#conversejs .icon-checkmark:before {
-  content: "\2713"; }
-#converse-embedded-chat .icon-close:before,
-#conversejs .icon-close:before {
-  content: "\2715"; }
-#converse-embedded-chat .icon-closed:before,
-#conversejs .icon-closed:before {
-  content: "\25ba"; }
-#converse-embedded-chat .icon-cog:before,
-#conversejs .icon-cog:before {
-  content: "\e02f"; }
-#converse-embedded-chat .icon-cogs:before,
-#conversejs .icon-cogs:before {
-  content: "\e022"; }
-#converse-embedded-chat .icon-conversejs:before,
-#conversejs .icon-conversejs:before {
-  content: "\e600"; }
-#converse-embedded-chat .icon-database:before,
-#conversejs .icon-database:before {
-  content: "\f1c0"; }
-#converse-embedded-chat .icon-envelope:before,
-#conversejs .icon-envelope:before {
-  content: "\f003"; }
-#converse-embedded-chat .icon-exit:before,
-#conversejs .icon-exit:before {
-  content: "\e601"; }
-#converse-embedded-chat .icon-eye-blocked:before,
-#conversejs .icon-eye-blocked:before {
-  content: "\e031"; }
-#converse-embedded-chat .icon-eye:before,
-#conversejs .icon-eye:before {
-  content: "\e030"; }
-#converse-embedded-chat .icon-github:before,
-#conversejs .icon-github:before {
-  content: "\eab0"; }
-#converse-embedded-chat .icon-globe:before,
-#conversejs .icon-globe:before {
-  content: "\f0ac"; }
-#converse-embedded-chat .icon-google2:before,
-#conversejs .icon-google2:before {
-  content: "\ea89"; }
-#converse-embedded-chat .icon-group:before,
-#conversejs .icon-group:before {
-  content: "\f0c0"; }
-#converse-embedded-chat .icon-happy:before,
-#conversejs .icon-happy:before {
-  content: "\263b"; }
-#converse-embedded-chat .icon-heart2:before,
-#conversejs .icon-heart2:before {
-  content: "\f004"; }
-#converse-embedded-chat .icon-heart:before,
-#conversejs .icon-heart:before {
-  content: "\2764"; }
-#converse-embedded-chat .icon-heart_empty:before,
-#conversejs .icon-heart_empty:before {
-  content: "\f08a"; }
-#converse-embedded-chat .icon-hide-users:before,
-#conversejs .icon-hide-users:before {
-  content: "\e01c"; }
-#converse-embedded-chat .icon-home:before,
-#conversejs .icon-home:before {
-  content: "\e000"; }
-#converse-embedded-chat .icon-idcard-dark:before,
-#conversejs .icon-idcard-dark:before {
-  content: "\f2c2"; }
-#converse-embedded-chat .icon-idcard:before,
-#conversejs .icon-idcard:before {
-  content: "\f2c3"; }
-#converse-embedded-chat .icon-image:before,
-#conversejs .icon-image:before {
-  content: "\2b14"; }
-#converse-embedded-chat .icon-info:before,
-#conversejs .icon-info:before {
-  content: "\2360"; }
-#converse-embedded-chat .icon-italic:before,
-#conversejs .icon-italic:before {
-  content: "\e04f"; }
-#converse-embedded-chat .icon-key:before,
-#conversejs .icon-key:before {
-  content: "\e028"; }
-#converse-embedded-chat .icon-legal:before,
-#conversejs .icon-legal:before {
-  content: "\f0e3"; }
-#converse-embedded-chat .icon-lock:before,
-#conversejs .icon-lock:before {
-  content: "\e027"; }
-#converse-embedded-chat .icon-minus:before,
-#conversejs .icon-minus:before {
-  content: "\e05a"; }
-#converse-embedded-chat .icon-music:before,
-#conversejs .icon-music:before {
-  content: "\266b"; }
-#converse-embedded-chat .icon-newtab:before,
-#conversejs .icon-newtab:before {
-  content: "\e053"; }
-#converse-embedded-chat .icon-notebook:before,
-#conversejs .icon-notebook:before {
-  content: "\2710"; }
-#converse-embedded-chat .icon-notification:before,
-#conversejs .icon-notification:before {
-  content: "\e01f"; }
-#converse-embedded-chat .icon-offline:before,
-#conversejs .icon-offline:before {
-  content: "\e002"; }
-#converse-embedded-chat .icon-logout:before,
-#conversejs .icon-logout:before {
-  content: "\e002"; }
-#converse-embedded-chat .icon-online:before,
-#conversejs .icon-online:before {
-  content: "\25fc"; }
-#converse-embedded-chat .icon-opened:before,
-#conversejs .icon-opened:before {
-  content: "\25bc"; }
-#converse-embedded-chat .icon-pencil:before,
-#conversejs .icon-pencil:before {
-  content: "\270e"; }
-#converse-embedded-chat .icon-phone-hang-up:before,
-#conversejs .icon-phone-hang-up:before {
-  content: "\260e"; }
-#converse-embedded-chat .icon-phone:before,
-#conversejs .icon-phone:before {
-  content: "\260f"; }
-#converse-embedded-chat .icon-plus:before,
-#conversejs .icon-plus:before {
-  content: "\271a"; }
-#converse-embedded-chat .icon-pushpin:before,
-#conversejs .icon-pushpin:before {
-  content: "\e012"; }
-#converse-embedded-chat .icon-quotes-left:before,
-#conversejs .icon-quotes-left:before {
-  content: "\e01d"; }
-#converse-embedded-chat .icon-reddit:before,
-#conversejs .icon-reddit:before {
-  content: "\eac6"; }
-#converse-embedded-chat .icon-remove:before,
-#conversejs .icon-remove:before {
-  content: "\e02d"; }
-#converse-embedded-chat .icon-room-info:before,
-#conversejs .icon-room-info:before {
-  content: "\e059"; }
-#converse-embedded-chat .icon-save:before,
-#conversejs .icon-save:before {
-  content: "\f0c7"; }
-#converse-embedded-chat .icon-search:before,
-#conversejs .icon-search:before {
-  content: "\e021"; }
-#converse-embedded-chat .icon-show-users:before,
-#conversejs .icon-show-users:before {
-  content: "\e01e"; }
-#converse-embedded-chat .icon-smiley:before,
-#conversejs .icon-smiley:before {
-  content: "\263a"; }
-#converse-embedded-chat .icon-snowflake:before,
-#conversejs .icon-snowflake:before {
-  content: "\f2dc"; }
-#converse-embedded-chat .icon-spell-check:before,
-#conversejs .icon-spell-check:before {
-  content: "\e045"; }
-#converse-embedded-chat .icon-spinner:before,
-#conversejs .icon-spinner:before {
-  content: "\231b"; }
-#converse-embedded-chat .icon-star:before,
-#conversejs .icon-star:before {
-  content: "\f005"; }
-#converse-embedded-chat .icon-star_empty:before,
-#conversejs .icon-star_empty:before {
-  content: "\f006"; }
-#converse-embedded-chat .icon-strikethrough:before,
-#conversejs .icon-strikethrough:before {
-  content: "\e050"; }
-#converse-embedded-chat .icon-twitter:before,
-#conversejs .icon-twitter:before {
-  content: "\ea96"; }
-#converse-embedded-chat .icon-underline:before,
-#conversejs .icon-underline:before {
-  content: "\e04e"; }
-#converse-embedded-chat .icon-unlocked:before,
-#conversejs .icon-unlocked:before {
-  content: "\e025"; }
-#converse-embedded-chat .icon-user:before,
-#conversejs .icon-user:before {
-  content: "\e01a"; }
-#converse-embedded-chat .icon-users:before,
-#conversejs .icon-users:before {
-  content: "\e01b"; }
-#converse-embedded-chat .icon-warning:before,
-#conversejs .icon-warning:before {
-  content: "\26a0"; }
-#converse-embedded-chat .icon-wrench:before,
-#conversejs .icon-wrench:before {
-  content: "\e024"; }
-#converse-embedded-chat .icon-xa:before,
-#conversejs .icon-xa:before {
-  content: "\e602"; }
-#converse-embedded-chat .icon-zoomin:before,
-#conversejs .icon-zoomin:before {
-  content: "\e02b"; }
-#converse-embedded-chat .icon-zoomout:before,
-#conversejs .icon-zoomout:before {
-  content: "\e02a"; }
-#converse-embedded-chat [data-icon]:before,
-#conversejs [data-icon]:before {
-  content: attr(data-icon);
-  font-family: 'Converse-js';
-  font-variant: normal;
-  font-weight: normal;
-  line-height: 1;
-  speak: none;
-  text-transform: none;
-  /* Better Font Rendering =========== */
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale; }
-#converse-embedded-chat [class^="icon-"]:before, #converse-embedded-chat [class*=" icon-"]:before,
-#conversejs [class^="icon-"]:before,
-#conversejs [class*=" icon-"]:before {
-  background-position: 14px 14px;
-  background-image: none;
-  font-family: 'Converse-js';
-  font-style: normal;
-  font-variant: normal;
-  font-weight: normal;
-  width: auto;
-  height: auto;
-  line-height: 1;
-  speak: none;
-  text-transform: none;
-  /* Better Font Rendering =========== */
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale; }
-
 #conversejs :root {
   --blue: #387592;
   --indigo: #6610f2;
@@ -5278,6 +4992,9 @@ body {
     background-color: #e7f7ee; }
   #converse-embedded-chat .chatbox .box-flyout,
   #conversejs .chatbox .box-flyout {
+    display: flex;
+    flex-direction: column;
+    justify-content: space-between;
     background-color: white;
     box-shadow: 1px 3px 5px 3px rgba(0, 0, 0, 0.4);
     height: 100%;
@@ -5311,13 +5028,14 @@ body {
       width: 100%; }
   #converse-embedded-chat .chatbox .chat-body,
   #conversejs .chatbox .chat-body {
-    background-color: white;
+    display: flex;
+    flex-direction: column;
+    justify-content: space-between;
+    height: 100%;
+    background-color: #3AA569;
     border-bottom-left-radius: 4px;
     border-bottom-right-radius: 4px;
-    border-top: 0;
-    height: 289px;
-    height: -webkit-calc(100% - 62px);
-    height: calc(100% - 62px); }
+    border-top: 0; }
     @media screen and (max-height: 450px) {
       #converse-embedded-chat .chatbox .chat-body,
       #conversejs .chatbox .chat-body {
@@ -5413,23 +5131,20 @@ body {
     white-space: nowrap; }
   #converse-embedded-chat .chatbox .chat-content,
   #conversejs .chatbox .chat-content {
-    position: relative;
     padding: 0.5em;
     font-size: 13px;
     color: #777;
     overflow-y: auto;
     border: 0;
     background-color: #ffffff;
-    line-height: 1.3em;
-    height: 206px;
-    height: calc(100% - 100px); }
+    line-height: 1.3em; }
     #converse-embedded-chat .chatbox .chat-content .toggle-spoiler:before,
     #conversejs .chatbox .chat-content .toggle-spoiler:before {
       padding-right: 0.25em;
       whitespace: nowrap; }
   #converse-embedded-chat .chatbox .chat-content-sendbutton,
   #conversejs .chatbox .chat-content-sendbutton {
-    height: calc(100% - 132px); }
+    height: calc(100% - 93px); }
   #converse-embedded-chat .chatbox .dropdown,
   #conversejs .chatbox .dropdown {
     /* status dropdown styles */
@@ -5447,12 +5162,9 @@ body {
     border-bottom-left-radius: 4px;
     background-clip: padding-box;
     background-color: white;
-    border-top: 1px solid #BBB;
     border: 0;
     margin: 0;
-    padding: 0;
-    position: relative;
-    height: 99px; }
+    padding: 0; }
     @media screen and (max-height: 450px) {
       #converse-embedded-chat .chatbox .sendXMPPMessage,
       #conversejs .chatbox .sendXMPPMessage {
@@ -5470,11 +5182,10 @@ body {
       border-top-right-radius: 0;
       border-bottom-right-radius: 4px;
       border-bottom-left-radius: 4px;
-      height: 70px;
       padding: 0.5em;
       width: 100%;
       border: none;
-      resize: none; }
+      min-height: 60px; }
       #converse-embedded-chat .chatbox .sendXMPPMessage .chat-textarea.spoiler,
       #conversejs .chatbox .sendXMPPMessage .chat-textarea.spoiler {
         height: 42px; }
@@ -5494,7 +5205,6 @@ body {
       box-sizing: border-box;
       margin: 0;
       padding: 0.25em;
-      height: 29px;
       display: block;
       border-top: 8px solid #3AA569;
       background-color: white;
@@ -5665,7 +5375,7 @@ body {
   font-size: 20px;
   padding: 0; }
   #conversejs.fullscreen .chat-head .user-custom-message {
-    font-size: 66%;
+    font-size: 50%;
     height: auto;
     line-height: 22px; }
   #conversejs.fullscreen .chat-head.chat-head-chatbox .close-chatbox-button {
@@ -5695,12 +5405,13 @@ body {
           height: 22px;
           margin-bottom: -5.5px; }
   #conversejs.fullscreen .chatbox .chat-content {
+    height: 100%;
     padding: 0 1em 1em 1em;
     border-top-left-radius: 4px;
     border-top-right-radius: 4px; }
   #conversejs.fullscreen .chatbox .chat-title {
     font-size: 26px;
-    line-height: 30px; }
+    line-height: 26px; }
   #conversejs.fullscreen .chatbox .sendXMPPMessage ul {
     width: 100%; }
   #conversejs.fullscreen .chatbox .sendXMPPMessage .toggle-smiley {
@@ -6042,7 +5753,7 @@ body {
       margin: 0;
       padding: 3em 2em 3em; }
   #conversejs.fullscreen #controlbox .toggle-register-login {
-    line-height: 30px; }
+    line-height: 26px; }
   #conversejs.fullscreen #controlbox .brand-heading-container {
     text-align: center; }
     #conversejs.fullscreen #controlbox .brand-heading-container .brand-heading {
@@ -6301,6 +6012,7 @@ body {
         height: 100vh; } }
     #converse-embedded-chat .chatroom .box-flyout .chatroom-body,
     #conversejs .chatroom .box-flyout .chatroom-body {
+      flex-direction: row;
       border-bottom-right-radius: 4px;
       border-bottom-left-radius: 4px;
       background-color: white;
@@ -6335,6 +6047,8 @@ body {
         padding: 2em 2em 0 2em; }
       #converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-area,
       #conversejs .chatroom .box-flyout .chatroom-body .chat-area {
+        display: flex;
+        flex-direction: column;
         word-wrap: break-word;
         min-width: 100%; }
         #converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-area .new-msgs-indicator,
@@ -6343,6 +6057,7 @@ body {
           max-width: 70%; }
         #converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-area .chat-content,
         #conversejs .chatroom .box-flyout .chatroom-body .chat-area .chat-content {
+          height: 100%;
           padding: 0.5em; }
         #converse-embedded-chat .chatroom .box-flyout .chatroom-body .chat-area.full,
         #conversejs .chatroom .box-flyout .chatroom-body .chat-area.full {
@@ -6456,8 +6171,6 @@ body {
         font-size: 16px;
         height: 289px;
         width: 100%;
-        height: -webkit-calc(100% - 62px);
-        height: calc(100% - 62px);
         overflow-y: auto;
         position: absolute; }
         #converse-embedded-chat .chatroom .box-flyout .chatroom-body .chatroom-form-container .validation-message,
@@ -6515,8 +6228,7 @@ body {
       border-radius: 4px; }
     #conversejs.fullscreen .chatroom .box-flyout .chatroom-body .chat-area {
       border-top-left-radius: 4px;
-      min-width: auto;
-      height: calc(100vh - 95px); }
+      min-width: auto; }
       #conversejs.fullscreen .chatroom .box-flyout .chatroom-body .chat-area .chat-content {
         border-top-left-radius: 4px;
         padding: 0 1em 1em 1em; }

+ 91 - 0
mockup/chatbox.html

@@ -90,6 +90,97 @@
                                 </span>
                                 <span class="chat-msg-content">Another message to check that scrolling works.</span>
                             </div>
+                            <div class="chat-message">
+                                <span class="chat-msg-author chat-msg-me">19:43&nbsp;
+                                    <canvas height="24" width="24" class="avatar"></canvas>
+                                    <span class="chat-msg-me">me:&nbsp;</span>
+                                </span>
+                                <span class="chat-msg-content">Another message to check that scrolling works.</span>
+                            </div>
+                            <div class="chat-message">
+                                <span class="chat-msg-author chat-msg-me">19:43&nbsp;
+                                    <canvas height="24" width="24" class="avatar"></canvas>
+                                    <span class="chat-msg-me">me:&nbsp;</span>
+                                </span>
+                                <span class="chat-msg-content">Another message to check that scrolling works.</span>
+                            </div>
+                            <div class="chat-message">
+                                <span class="chat-msg-author chat-msg-me">19:43&nbsp;
+                                    <canvas height="24" width="24" class="avatar"></canvas>
+                                    <span class="chat-msg-me">me:&nbsp;</span>
+                                </span>
+                                <span class="chat-msg-content">Another message to check that scrolling works.</span>
+                            </div>
+                            <div class="chat-message">
+                                <span class="chat-msg-author chat-msg-me">19:43&nbsp;
+                                    <canvas height="24" width="24" class="avatar"></canvas>
+                                    <span class="chat-msg-me">me:&nbsp;</span>
+                                </span>
+                                <span class="chat-msg-content">Another message to check that scrolling works.</span>
+                            </div>
+                            <div class="chat-message">
+                                <span class="chat-msg-author chat-msg-me">19:43&nbsp;
+                                    <canvas height="24" width="24" class="avatar"></canvas>
+                                    <span class="chat-msg-me">me:&nbsp;</span>
+                                </span>
+                                <span class="chat-msg-content">Another message to check that scrolling works.</span>
+                            </div>
+                            <div class="chat-message">
+                                <span class="chat-msg-author chat-msg-me">19:43&nbsp;
+                                    <canvas height="24" width="24" class="avatar"></canvas>
+                                    <span class="chat-msg-me">me:&nbsp;</span>
+                                </span>
+                                <span class="chat-msg-content">Another message to check that scrolling works.</span>
+                            </div>
+                            <div class="chat-message">
+                                <span class="chat-msg-author chat-msg-me">19:43&nbsp;
+                                    <canvas height="24" width="24" class="avatar"></canvas>
+                                    <span class="chat-msg-me">me:&nbsp;</span>
+                                </span>
+                                <span class="chat-msg-content">Another message to check that scrolling works.</span>
+                            </div>
+                            <div class="chat-message">
+                                <span class="chat-msg-author chat-msg-me">19:43&nbsp;
+                                    <canvas height="24" width="24" class="avatar"></canvas>
+                                    <span class="chat-msg-me">me:&nbsp;</span>
+                                </span>
+                                <span class="chat-msg-content">Another message to check that scrolling works.</span>
+                            </div>
+                            <div class="chat-message">
+                                <span class="chat-msg-author chat-msg-me">19:43&nbsp;
+                                    <canvas height="24" width="24" class="avatar"></canvas>
+                                    <span class="chat-msg-me">me:&nbsp;</span>
+                                </span>
+                                <span class="chat-msg-content">Another message to check that scrolling works.</span>
+                            </div>
+                            <div class="chat-message">
+                                <span class="chat-msg-author chat-msg-me">19:43&nbsp;
+                                    <canvas height="24" width="24" class="avatar"></canvas>
+                                    <span class="chat-msg-me">me:&nbsp;</span>
+                                </span>
+                                <span class="chat-msg-content">Another message to check that scrolling works.</span>
+                            </div>
+                            <div class="chat-message">
+                                <span class="chat-msg-author chat-msg-me">19:43&nbsp;
+                                    <canvas height="24" width="24" class="avatar"></canvas>
+                                    <span class="chat-msg-me">me:&nbsp;</span>
+                                </span>
+                                <span class="chat-msg-content">Another message to check that scrolling works.</span>
+                            </div>
+                            <div class="chat-message">
+                                <span class="chat-msg-author chat-msg-me">19:43&nbsp;
+                                    <canvas height="24" width="24" class="avatar"></canvas>
+                                    <span class="chat-msg-me">me:&nbsp;</span>
+                                </span>
+                                <span class="chat-msg-content">Another message to check that scrolling works.</span>
+                            </div>
+                            <div class="chat-message">
+                                <span class="chat-msg-author chat-msg-me">19:43&nbsp;
+                                    <canvas height="24" width="24" class="avatar"></canvas>
+                                    <span class="chat-msg-me">me:&nbsp;</span>
+                                </span>
+                                <span class="chat-msg-content">Another message to check that scrolling works.</span>
+                            </div>
                         </div>
 
                         <form class="sendXMPPMessage">

+ 10 - 13
sass/_chatbox.scss

@@ -112,6 +112,9 @@
         }
 
         .box-flyout {
+            display: flex;
+            flex-direction: column;
+            justify-content: space-between;
             background-color: white;
             box-shadow: 1px 3px 5px 3px rgba(0, 0, 0, 0.4);
             height: $chat-height;
@@ -144,7 +147,11 @@
             }
         }
         .chat-body {
-            background-color: white;
+            display: flex;
+            flex-direction: column;
+            justify-content: space-between;
+            height: 100%;
+            background-color: $chat-head-color;
             border-bottom-left-radius: $chatbox-border-radius;
             border-bottom-right-radius: $chatbox-border-radius;
             @media screen and (max-height: $mobile-landscape-height) {
@@ -156,8 +163,6 @@
                 border-bottom-right-radius: 0;
             }
             border-top: 0;
-            height: 289px;
-            @include calc(height, '100% - #{$chat-head-height}');
             p {
                 color: $text-color;
                 font-size: $font-size;
@@ -250,7 +255,6 @@
             white-space: nowrap;
         }
         .chat-content {
-            position: relative;
             padding: 0.5em;
             font-size: 13px;
             color: $text-color;
@@ -258,8 +262,6 @@
             border: 0;
             background-color: #ffffff;
             line-height: 1.3em;
-            height: 206px;
-            height: calc(100% - #{$toolbar-height + $chat-textarea-height +1px});
 
             .toggle-spoiler:before {
                 padding-right: 0.25em;
@@ -267,7 +269,7 @@
             }
         }
         .chat-content-sendbutton {
-            height: calc(100% - #{$toolbar-height + $chat-textarea-height + $send-button-height + 2*$send-button-margin});
+            height: calc(100% - #{$chat-textarea-height + $send-button-height + 2*$send-button-margin});
         }
 
         .dropdown { /* status dropdown styles */
@@ -285,12 +287,9 @@
             @include border-bottom-radius($chatbox-border-radius);
             background-clip: padding-box;
             background-color: white;
-            border-top: 1px solid #BBB;
             border: 0;
             margin: 0;
             padding: 0;
-            position: relative;
-            height: #{$chat-textarea-height + $toolbar-height};
             @media screen and (max-height: $mobile-landscape-height) {
                 width: 100%;
             }
@@ -306,11 +305,10 @@
                 border-top-left-radius: 0;
                 border-top-right-radius: 0;
                 @include border-bottom-radius($chatbox-border-radius);
-                height: $chat-textarea-height;
                 padding: 0.5em;
                 width: 100%;
                 border: none;
-                resize: none;
+                min-height: $chat-textarea-height;
                 &.spoiler {
                     height: 42px;
                 }
@@ -331,7 +329,6 @@
                 box-sizing: border-box;
                 margin: 0;
                 padding: 0.25em;
-                height: $toolbar-height;
                 display: block;
                 border-top: 8px solid $chat-head-color;
                 background-color: white;

+ 4 - 1
sass/_chatrooms.scss

@@ -82,6 +82,7 @@
                 height: 100vh;
             }
             .chatroom-body {
+                flex-direction: row;
                 @include border-bottom-radius($chatbox-border-radius);
                 background-color: white;
                 border-top: 0;
@@ -120,6 +121,8 @@
                     padding: 2em 2em 0 2em;
                 }
                 .chat-area {
+                    display: flex;
+                    flex-direction: column;
                     word-wrap: break-word; 
                     min-width: $chat-width;
                     .new-msgs-indicator {
@@ -127,6 +130,7 @@
                         max-width: 70%;
                     }
                     .chat-content {
+                        height: 100%;
                         padding: 0.5em;
                     }
                     &.full {
@@ -246,7 +250,6 @@
                     font-size: $font-size;
                     height: 289px;
                     width: 100%;
-                    @include calc(height, '100% - #{$chat-head-height}');
                     overflow-y: auto;
                     position: absolute;
 

+ 0 - 1
sass/_muc_embedded.scss

@@ -54,7 +54,6 @@
                 font-size: 120%;
             }
             .chat-content {
-                height: calc(100% - #{$toolbar-height + $chat-textarea-height +2px});
                 .chat-message {
                     margin: 0.5em;
                     font-size: 120%;

+ 1 - 2
sass/converse/_variables.scss

@@ -48,7 +48,7 @@ $light-text-color: #A8ABA1 !default;
 $border-color: #CCC !default;
 $icon-color: $blue !default;
 $save-button-color: $green !default;
-$chat-textarea-height: 70px !default;
+$chat-textarea-height: 60px !default;
 $send-button-height: 27px !default;
 $send-button-margin: 3px !default;
 
@@ -101,7 +101,6 @@ $font-size-large: 16px !default;
 $font-size-huge: 20px !default;
 $legend-font-size: 16px !default;
 
-$toolbar-height: 25px !default;
 $toolbar-color: $greenish-white !default;
 
 $emoji-picker-height: 100px !default;

+ 2 - 1
sass/inverse/_chatbox.scss

@@ -13,7 +13,7 @@
         font-size: 20px;
         padding: 0;
         .user-custom-message {
-            font-size: 66%;
+            font-size: 50%;
             height: auto;
             line-height: $line-height;
         }
@@ -55,6 +55,7 @@
             }
         }
         .chat-content {
+            height: 100%;
             padding: 0 $padding $padding $padding;
             border-top-left-radius: $chatbox-border-radius;
             border-top-right-radius: $chatbox-border-radius;

+ 0 - 1
sass/inverse/_chatrooms.scss

@@ -26,7 +26,6 @@
                 .chat-area {
                     border-top-left-radius: $chatbox-border-radius;
                     min-width: auto;
-                    height: calc(100vh - 95px);
 
                     .chat-content {
                         border-top-left-radius: $chatbox-border-radius;

+ 2 - 3
sass/inverse/_variables.scss

@@ -65,7 +65,7 @@ $chat-head-text-color: white !default;
 $chat-head-inverse-text-color: white !default;
 $chat-head-height: 62px !default;
 
-$chat-textarea-height: 70px !default;
+$chat-textarea-height: 60px !default;
 
 $input-focus-color: #1A9707 !default;
 $highlight-color: #DCF9F6 !default;
@@ -104,13 +104,12 @@ $font-size-large: 18px !default;
 $font-size-huge: 26px !default;
 $legend-font-size: 18px !default;
 
-$toolbar-height: 29px !default;
 $toolbar-color: $greenish-white !default;
 
 $line-height-small:  20px !default;
 $line-height:  22px !default;
 $line-height-large:  24px !default;
-$line-height-huge:  30px !default;
+$line-height-huge:  26px !default;
 
 $controlbox-width: 250px !default;
 $chat-width: 100% !default;

+ 0 - 1
sass/inverse/inverse.scss

@@ -13,7 +13,6 @@
 @import "bootstrap/scss/variables";
 @import "bootstrap/scss/mixins";
 
-@import "../fonts";
 #conversejs {
     @import "bootstrap/scss/root";
     @import "bootstrap/scss/reboot";