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
205 lines
4.6 KiB
SCSS
205 lines
4.6 KiB
SCSS
$grey-dark: #333333;
|
|
$grey-dark_l2: darken($grey-dark, 4%);
|
|
$grey-dark_l3: darken($grey-dark_l2, 7%);
|
|
$grey-dark_l4: darken($grey-dark_l3, 8%);
|
|
$text-dark: #CCCCCC;
|
|
|
|
.android-dark {
|
|
.gutter .content {
|
|
background-color: $grey-dark;
|
|
}
|
|
color: $text-dark;
|
|
a { color: #57a5e5; }
|
|
hr {
|
|
border-color: $grey-dark;
|
|
}
|
|
#header {
|
|
background-color: $grey-dark_l2;
|
|
color: white;
|
|
transition: background-color 0.5s;
|
|
&.inactive {
|
|
background-color: $grey-dark;
|
|
color: $text-dark;
|
|
}
|
|
}
|
|
.message-detail, .message-container, .conversation,
|
|
.discussion-container {
|
|
background-color: $grey-dark_l3;
|
|
}
|
|
.modal .content {
|
|
background-color: $grey-dark;
|
|
}
|
|
.lightbox .content {
|
|
background-color: rgba(0, 0, 0, 0);
|
|
}
|
|
.key-verification .key {
|
|
background-color: $grey-dark_l4;
|
|
border-color: $grey-dark_l2;
|
|
}
|
|
.menu-list {
|
|
background-color: $grey-dark_l2;
|
|
color: $text-dark;
|
|
li:hover {
|
|
background-color: $grey-dark;
|
|
}
|
|
}
|
|
.content textarea {
|
|
background-color: $grey-dark_l3;
|
|
border-width: 0px;
|
|
@include invert-text-color;
|
|
}
|
|
.flex {
|
|
background-color: $grey-dark_l3;
|
|
.send-message {
|
|
background-color: $grey-dark_l3;
|
|
color: $text-dark;
|
|
}
|
|
}
|
|
.contact-details .name {
|
|
font-weight: 400;
|
|
}
|
|
.group-member-list .members .contact, .new-group-update .members .contact, .attachment-previews img {
|
|
background-color: $grey-dark_l3;
|
|
border-color: $grey-dark;
|
|
}
|
|
.conversation.placeholder .conversation-header {
|
|
display: none;
|
|
}
|
|
.avatar, .conversation-header, .bubble {
|
|
@include dark-avatar-colors;
|
|
}
|
|
.message-list .advisory .content {
|
|
background-color: $grey-dark;
|
|
}
|
|
.inactive .conversation-header {
|
|
background-color: $grey-dark !important;
|
|
color: $text-dark;
|
|
}
|
|
.sent .status {
|
|
display: inline-block;
|
|
@include color-svg('/images/check.svg', white);
|
|
}
|
|
.delivered .status {
|
|
display: inline-block;
|
|
@include color-svg('/images/double-check.svg', white);
|
|
}
|
|
.file-input .paperclip:before {
|
|
content: '';
|
|
display: inline-block;
|
|
width: $button-height;
|
|
height: $button-height;
|
|
@include color-svg('/images/paperclip.svg', white);
|
|
transform: rotateZ(-45deg);
|
|
}
|
|
.capture-audio .microphone:before {
|
|
@include color-svg('/images/microphone.svg', white);
|
|
}
|
|
.conversations {
|
|
background-color: $grey-dark_l2;
|
|
.conversation-list-item {
|
|
background-color: $grey-dark_l3;
|
|
color: $text-dark;
|
|
}
|
|
}
|
|
.bottom-bar {
|
|
min-height: 10px;
|
|
background-color: $grey-dark_l2;
|
|
form.send {
|
|
background: $grey-dark_l3;
|
|
}
|
|
}
|
|
.search {
|
|
background-color: $grey-dark_l3;
|
|
border-color: $grey-dark_l2;
|
|
@include invert-text-color;
|
|
&::-webkit-search-cancel-button {
|
|
background: url('/images/x_white.svg') no-repeat center;
|
|
background-size: cover;
|
|
}
|
|
&.active.ltr, &.active.rtl {
|
|
background-image: url('/images/x_white.svg');
|
|
}
|
|
}
|
|
.bubble {
|
|
padding: 9px 12px;
|
|
border-radius: $border-radius;
|
|
box-shadow: 0 3px 3px -4px black;
|
|
}
|
|
|
|
.outgoing .bubble {
|
|
background-color: $grey-dark;
|
|
@include invert-text-color;
|
|
color: $text-dark;
|
|
}
|
|
.outgoing .hourglass {
|
|
@include hourglass(#999);
|
|
}
|
|
.incoming .hourglass {
|
|
@include hourglass(#fff);
|
|
}
|
|
|
|
.incoming .bubble {
|
|
.sender, .content, .body, .meta, a, .fileView {
|
|
@include invert-text-color;
|
|
}
|
|
.content {
|
|
a {
|
|
color: $grey_l;
|
|
}
|
|
}
|
|
}
|
|
|
|
.incoming .bubble .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);
|
|
}
|
|
}
|
|
|
|
.outgoing .bubble .fileView .icon {
|
|
&::before {
|
|
@include color-svg('/images/file.svg', #CCCCCC);
|
|
}
|
|
&.audio:before {
|
|
@include color-svg('/images/audio.svg', #CCCCCC);
|
|
}
|
|
&.video:before {
|
|
@include color-svg('/images/video.svg', #CCCCCC);
|
|
}
|
|
&.voice:before {
|
|
@include color-svg('/images/voice.svg', #CCCCCC);
|
|
}
|
|
}
|
|
|
|
button.clock {
|
|
@include header-icon-white('/images/clock.svg');
|
|
}
|
|
button.hamburger {
|
|
@include header-icon-white('/images/menu.svg');
|
|
}
|
|
button.back {
|
|
@include header-icon-white('/images/back.svg');
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: rgba(255,255,255,0.15);
|
|
|
|
&:hover {
|
|
background: rgba(255,255,255,0.25);
|
|
}
|
|
}
|
|
::-webkit-scrollbar-track {
|
|
background-color: $grey-dark_l2;
|
|
}
|
|
.recorder {
|
|
background: $grey-dark_l2;
|
|
}
|
|
}
|