293be5d9f6
The :before technique for adding the icon was removed, because it resulted in some rendering issues when the layout pressure in the message bubble got too high - you would see a partial icon. This solution shrinks the icon a bit when the filename wants to expand to take its space. The iOS bubble width also needed special care to ensure it didn't expand to accommodate the very wide filenames. Beyond that, overflow: hidden needed to be applied at several levels to make everything behave as expected. FREEBIE
230 lines
4.3 KiB
SCSS
230 lines
4.3 KiB
SCSS
$ios-header-border-color: rgba(0,0,0,0.05);
|
|
$ios-border-color: rgba(0,0,0,0.1);
|
|
|
|
.ios {
|
|
#header {
|
|
height: $header-height;
|
|
border-bottom: 1px solid $ios-header-border-color;
|
|
border-width: 0 1px 1px 0;
|
|
background-color: $grey_l;
|
|
color: $grey_d;
|
|
h1 { display: none; }
|
|
}
|
|
.gutter {
|
|
border-right: 1px solid $ios-border-color;
|
|
.content {
|
|
height: calc(100% - #{$header-height});
|
|
background: $ios-border-color;
|
|
}
|
|
.contact {
|
|
background: $grey_l;
|
|
margin-right: 0;
|
|
|
|
&.selected {
|
|
background: $blue;
|
|
color: white;
|
|
.last-timestamp {
|
|
color: white;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.banner {
|
|
top: 15px;
|
|
}
|
|
|
|
.tool-bar {
|
|
float: left;
|
|
padding: 15px;
|
|
}
|
|
input[type=text]:active,
|
|
input[type=text]:focus,
|
|
input[type=search]:active,
|
|
input[type=search]:focus,
|
|
input[type=search].active,
|
|
form.active {
|
|
outline-offset: 0;
|
|
outline: -webkit-focus-ring-color auto 5px;
|
|
}
|
|
input.search {
|
|
border-radius: 5px;
|
|
width: 220px;
|
|
height: 34px;
|
|
padding-left: $search-padding-left-ios;
|
|
line-height: 34px;
|
|
background-color: #dddddd;
|
|
&.active.rtl {
|
|
background-position : left $search-padding-left-ios center;
|
|
}
|
|
}
|
|
.conversation-header {
|
|
background-color: $grey_l;
|
|
color: $grey_d;
|
|
border-color: $ios-header-border-color;
|
|
text-align: left;
|
|
|
|
.conversation-title {
|
|
line-height: $header-height;
|
|
|
|
.verified-icon {
|
|
@include color-svg('/images/verified-check.svg', #454545);
|
|
}
|
|
}
|
|
|
|
.avatar { display: none; }
|
|
}
|
|
.settings h3,
|
|
.menu-list li {
|
|
text-transform: capitalize;
|
|
}
|
|
.bottom-bar {
|
|
padding: 15px;
|
|
min-height: 30px;
|
|
border-top: 1px solid $ios-border-color;
|
|
form.send {
|
|
border-radius: 5px;
|
|
border: 1px solid $ios-border-color;
|
|
}
|
|
}
|
|
|
|
.error-message.content,
|
|
.control .content {
|
|
padding: 10px;
|
|
}
|
|
|
|
|
|
.attachments .bubbled {
|
|
border-radius: 15px;
|
|
margin-bottom: 0.25em;
|
|
|
|
padding: 10px;
|
|
|
|
position: relative;
|
|
|
|
&:before, &:after {
|
|
content: '';
|
|
display: block;
|
|
border-radius: 20px;
|
|
position: absolute;
|
|
width: 10px;
|
|
}
|
|
&:before {
|
|
right: -1px;
|
|
bottom: -3px;
|
|
height: 10px;
|
|
border-radius: 20px;
|
|
background: $blue;
|
|
}
|
|
&:after {
|
|
height: 11px;
|
|
right: -6px;
|
|
bottom: -3px;
|
|
background: #eee;
|
|
}
|
|
}
|
|
|
|
.bubble {
|
|
.content {
|
|
margin-bottom: 5px;
|
|
.body {
|
|
display: inline-block;
|
|
padding: 10px;
|
|
position: relative;
|
|
word-break: break-word;
|
|
|
|
&:before, &:after {
|
|
content: '';
|
|
display: block;
|
|
border-radius: 20px;
|
|
position: absolute;
|
|
width: 10px;
|
|
}
|
|
&:before {
|
|
right: -1px;
|
|
bottom: -3px;
|
|
height: 10px;
|
|
border-radius: 20px;
|
|
background: $blue;
|
|
}
|
|
&:after {
|
|
height: 11px;
|
|
right: -6px;
|
|
bottom: -3px;
|
|
background: #eee;
|
|
}
|
|
}
|
|
}
|
|
.content, .attachments img {
|
|
border-radius: 15px;
|
|
}
|
|
.attachments img {
|
|
background-color: white;
|
|
}
|
|
.meta {
|
|
clear: both;
|
|
}
|
|
}
|
|
|
|
.incoming .bubbled {
|
|
background-color: white;
|
|
color: black;
|
|
float: left;
|
|
max-width: 100%;
|
|
|
|
&:before {
|
|
left: -1px;
|
|
background-color: white;
|
|
}
|
|
&:after {
|
|
left: -6px;
|
|
}
|
|
}
|
|
|
|
.incoming .content {
|
|
background-color: white;
|
|
color: black;
|
|
float: left;
|
|
.body {
|
|
&:before {
|
|
left: -1px;
|
|
background-color: white;
|
|
}
|
|
&:after {
|
|
left: -6px;
|
|
}
|
|
}
|
|
}
|
|
.outgoing {
|
|
.content, .attachments .bubbled {
|
|
background-color: $blue;
|
|
max-width: 100%;
|
|
&, .body, a {
|
|
@include invert-text-color;
|
|
}
|
|
float: right;
|
|
}
|
|
}
|
|
|
|
.outgoing .attachments .fileView .icon {
|
|
@include color-svg('/images/file.svg', white);
|
|
&.audio {
|
|
@include color-svg('/images/audio.svg', white);
|
|
}
|
|
&.video {
|
|
@include color-svg('/images/video.svg', white);
|
|
}
|
|
&.voice {
|
|
@include color-svg('/images/voice.svg', white);
|
|
}
|
|
}
|
|
|
|
.attachment {
|
|
a {
|
|
border-radius: 15px;
|
|
}
|
|
margin-bottom: 1px;
|
|
}
|
|
.hourglass {
|
|
@include hourglass(#999);
|
|
}
|
|
}
|