signal-desktop/stylesheets/android-dark.scss
Scott Nonnenberg fed26c36ca Add new Last Seen Indicator with unread count, scroll to it
This is to ensure that when there are a lot of unread messages, the user
is given the chance to see all of them by being scrolled to the oldest
new message.

When a new message comes in, the indicator will be incremented.

When the user sends a message or switches away from the conversation,
the last seen indicator will be removed.

FREEBIE
2017-05-23 11:08:23 -07:00

210 lines
4.7 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;
}
.message-list .last-seen-indicator-view .text {
margin-top: 2em;
background-color: $grey-dark_l2;
}
}