3ea5c0435b
Add names and sizes for all attachments except images, and (as with arbitrary attachments), clicking on the text will open a save dialog. In the absence of a filename, choose something that makes sense. Display different icons for different media types, including distinct icons for voice notes and audio files. In iOS theme, audio, video, voice, and files are all encapsulated in bubbles. Closes #804 Closes #842 Closes #836 // FREEBIE
224 lines
4.3 KiB
SCSS
224 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;
|
|
}
|
|
}
|
|
}
|
|
::-webkit-scrollbar-track {
|
|
background: $grey_l;
|
|
}
|
|
}
|
|
.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;
|
|
}
|
|
.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;
|
|
}
|
|
|
|
|
|
.message-list .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: white;
|
|
}
|
|
}
|
|
|
|
.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: white;
|
|
}
|
|
}
|
|
}
|
|
.content, .attachments img {
|
|
border-radius: 15px;
|
|
}
|
|
.attachments img {
|
|
border: 1px solid $ios-border-color;
|
|
}
|
|
.meta {
|
|
clear: both;
|
|
}
|
|
}
|
|
|
|
.message-list .incoming .bubbled {
|
|
background-color: #e6e5ea;
|
|
color: black;
|
|
float: left;
|
|
|
|
&:before {
|
|
left: -1px;
|
|
background-color: #e6e5ea;
|
|
}
|
|
&:after {
|
|
left: -6px;
|
|
}
|
|
}
|
|
|
|
.incoming .content {
|
|
background-color: #e6e5ea;
|
|
color: black;
|
|
float: left;
|
|
.body {
|
|
&:before {
|
|
left: -1px;
|
|
background-color: #e6e5ea;
|
|
}
|
|
&:after {
|
|
left: -6px;
|
|
}
|
|
}
|
|
}
|
|
.outgoing {
|
|
.content, .attachments .bubbled {
|
|
background-color: $blue;
|
|
&, .body, a {
|
|
@include invert-text-color;
|
|
}
|
|
float: right;
|
|
}
|
|
}
|
|
|
|
.outgoing .attachments .fileView .icon {
|
|
&::before {
|
|
@include color-svg('/images/file.svg', white);
|
|
}
|
|
&.audio:before {
|
|
@include color-svg('/images/audio.svg', white);
|
|
}
|
|
&.video:before {
|
|
@include color-svg('/images/video.svg', white);
|
|
}
|
|
&.voice:before {
|
|
@include color-svg('/images/voice.svg', white);
|
|
}
|
|
}
|
|
|
|
.attachment {
|
|
a {
|
|
border-radius: 15px;
|
|
}
|
|
margin-bottom: 1px;
|
|
}
|
|
.hourglass {
|
|
@include hourglass(#999);
|
|
}
|
|
}
|