CSS "dark mode" improvements

This commit is contained in:
djmaze 2021-03-06 23:13:46 +01:00
parent e8deb4ff16
commit eb0d1ecccb
4 changed files with 473 additions and 510 deletions

View file

@ -28,323 +28,280 @@
.modal-body {
overflow: auto;
height: 100%;
background-color: #f5f5f5;
height: calc(100% - 49px);
padding: 0;
}
.b-header-toolbar {
}
background-color: rgba(0,0,0,0.8);
color: #fff;
height: 40px;
.b-list-toolbar {
padding: 0;
height: 44px;
text-align: center;
width: @contacts-popup-left-width;
border-bottom: 1px solid rgba(128,128,128,0.4);
.close {
color: #fff;
opacity: 1;
}
.btn {
margin-top: 4px;
}
.e-search {
margin-top: 7px;
width: @contacts-popup-left-width - 20;
}
}
.b-list-toolbar {
padding: 0;
height: 45px;
.b-list-footer-toolbar {
position: absolute;
left: 0;
bottom: 0;
height: 46px;
width: @contacts-popup-left-width;
background-color: var(--message-list-toolbar-bg-color,#eee);
box-shadow: inset 0 1px 0 #ccc;
.footer-pager {
padding: 8px 10px 0 0;
text-align: right;
width: @contacts-popup-left-width;
}
}
.b-list-content {
position: absolute;
top: 45px;
bottom: 46px;
left: 0;
width: @contacts-popup-left-width;
overflow: hidden;
overflow-y: auto;
scroll-behavior: smooth;
.content {
-webkit-overflow-scrolling: touch;
}
.listClear {
text-align: center;
padding: 10px;
font-size: 14px;
line-height: 13px;
box-shadow: inset 0 -1px 0 #ccc;
.e-search {
margin-top: 7px;
width: @contacts-popup-left-width - 20;
}
}
.b-list-footer-toolbar {
position: absolute;
left: 0;
bottom: 0;
height: 105px;
width: @contacts-popup-left-width;
background-color: #eee;
box-shadow: inset 0 1px 0 #ccc;
.footer-pager {
padding: 8px 10px 0 0;
text-align: right;
}
.listEmptyList, .listEmptyListLoading, .listEmptySearchList {
color: #999;
text-align: center;
padding: 60px 10px;
font-size: 24px;
line-height: 30px;
}
.b-list-content {
position: absolute;
top: 45px;
bottom: 105px;
left: 0;
width: @contacts-popup-left-width;
overflow: hidden;
overflow-y: auto;
scroll-behavior: smooth;
.content {
-webkit-overflow-scrolling: touch;
}
.listClear {
color: #333;
text-align: center;
padding: 10px;
font-size: 14px;
line-height: 13px;
background-color: #fff;
box-shadow: inset 0 -1px 0 #ccc;
}
.listEmptyList, .listEmptyListLoading, .listEmptySearchList {
color: #999;
text-align: center;
padding: 60px 10px;
font-size: 24px;
line-height: 30px;
}
&.hideContactListCheckbox {
.checkboxItem {
visibility: hidden;
}
}
// .e-contact-foreach {
// border-bottom: 1px solid #ddd;
// }
.e-contact-item {
display: flex;
max-height: 45px;
line-height: 45px;
overflow: hidden;
cursor: pointer;
margin: 0;
border: 0;
border-left: 6px solid #eee;
border-bottom: 1px solid #ddd;
&.focused {
border-left-color: #bbb;
}
&.deleted {
max-height: 0;
border-color: transparent !important;
}
.checkboxItem {
line-height: 45px;
padding: 0 8px 0 6px;
}
.nameParent {
color: #333;
font-size: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 100%;
}
&.checked {
border-left-color: #69A8F5;
&.focused {
border-left-color: darken(#69A8F5, 5%);
}
}
&.selected {
background-color: #fff;
border-left-color: #398CF2;
&.focused {
border-left-color: darken(#398CF2, 5%);
}
}
}
}
.b-view-content-toolbar {
background-color: #f5f5f5;
padding: 7px;
position: absolute;
top: 0;
right: 0;
left: @contacts-popup-left-width;
height: 31px;
text-align: right;
box-shadow: inset 0 -1px 0 #ccc;
.button-save-contact {
&.dirty:enabled {
color: #51a351;
font-weight: bold;
}
}
&.read-only .button-save-contact {
display: none;
}
}
.b-view-content {
position: absolute;
top: 45px;
bottom: 60px;
left: @contacts-popup-left-width;
right: 0;
overflow: auto;
background-color: #fff;
border-left: 1px solid #ddd;
.content {
-webkit-overflow-scrolling: touch;
}
.contactValueStatic, .contactValueLargeStatic, .contactValueTextAreaStatic {
height: 20px;
line-height: 20px;
font-size: 18px;
display: inline-block;
padding: 5px 7px;
color: #555;
display: none;
}
&.read-only {
.contactValueStatic, .contactValueLargeStatic, .contactValueTextAreaStatic {
display: inline-block;
}
.contactValueInput, .contactValueInputLarge, .contactValueTextArea {
display: none;
}
}
.b-contact-view-desc {
text-align: center;
font-size: 24px;
line-height: 30px;
padding-top: 120px;
color: #999;
}
.top-part {
padding-top: 20px;
}
.property-line {
margin-bottom: 5px;
}
.top-row {
padding: 10px 0;
height: 30px;
}
.add-link {
margin-left: 2px;
padding: 5px;
font-size: 12px;
color: #aaa;
}
.contactValueStatic, .contactValueLargeStatic, .contactValueTextAreaStatic {
font-size: 18px;
display: none;
}
.contactValueInput, .contactValueInputLarge, .contactValueTextArea {
box-shadow: none;
border-color: #fff;
font-size: 18px;
width: 300px;
&:hover {
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
border-color: #ccc;
}
&:focus {
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
border-color: #999;
}
&::placeholder {
color: #ddd;
}
}
.contactValueTextArea {
width: 300px;
}
.contactValueInputLarge {
width: 400px;
}
.hasError {
.contactValueInput {
color: #ee5f5b;
border-color: #ee5f5b;
}
}
.e-save-trigger {
position: absolute;
top: 25px;
left: 10px;
}
.e-read-only-sign {
display: none;
position: absolute;
top: 20px;
right: 40px;
}
.e-share-sign {
position: absolute;
top: 20px;
right: 20px;
cursor: pointer;
}
&.read-only {
.e-read-only-sign {
display: inline-block;
}
.e-share-sign {
display: none;
}
&.hideContactListCheckbox {
.checkboxItem {
visibility: hidden;
}
}
}
.e-contact-item {
position: relative;
display: flex;
height: 55px;
max-height: 60px;
line-height: 22px;
max-height: 45px;
line-height: 45px;
overflow: hidden;
cursor: pointer;
position: relative;
margin: 0;
border: 0;
border-bottom: 1px solid #ddd;
border-left: 6px solid #eee;
border-bottom: 1px solid rgba(128,128,128,0.25);
&.focused {
border-left-color: #bbb;
}
&.deleted {
max-height: 0;
border-color: transparent !important;
}
.checkboxItem {
line-height: 45px;
padding: 0 8px 0 6px;
}
.nameParent {
font-size: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 100%;
}
&.checked {
border-left-color: #69A8F5;
&.focused {
border-left-color: darken(#69A8F5, 5%);
}
}
&.selected {
background-color: rgba(140, 200, 255, 0.3);
border-left-color: #398CF2;
&.focused {
border-left-color: darken(#398CF2, 5%);
}
}
}
.b-view-content-toolbar {
padding: 7px;
position: absolute;
top: 0;
right: 0;
left: @contacts-popup-left-width;
height: 30px;
text-align: right;
border-bottom: 1px solid rgba(128,128,128,0.4);
.button-save-contact {
&.dirty:enabled {
color: #51a351;
font-weight: bold;
}
}
&.read-only .button-save-contact {
display: none;
}
}
.b-view-content {
position: absolute;
top: 45px;
bottom: 0;
left: @contacts-popup-left-width;
right: 0;
overflow: auto;
border-left: 1px solid rgba(128,128,128,0.25);
.content {
-webkit-overflow-scrolling: touch;
}
.contactValueStatic, .contactValueLargeStatic, .contactValueTextAreaStatic {
height: 20px;
line-height: 20px;
font-size: 18px;
display: inline-block;
padding: 5px 7px;
display: none;
}
&.read-only {
.contactValueStatic, .contactValueLargeStatic, .contactValueTextAreaStatic {
display: inline-block;
}
.contactValueInput, .contactValueInputLarge, .contactValueTextArea {
display: none;
}
}
.b-contact-view-desc {
text-align: center;
font-size: 24px;
line-height: 30px;
padding-top: 120px;
color: #999;
}
.top-part {
padding-top: 20px;
}
.property-line {
margin-bottom: 5px;
}
.top-row {
padding: 10px 0;
height: 30px;
}
.add-link {
margin-left: 2px;
padding: 5px;
font-size: 12px;
color: #aaa;
}
.contactValueStatic, .contactValueLargeStatic, .contactValueTextAreaStatic {
font-size: 18px;
display: none;
}
.contactValueInput, .contactValueInputLarge, .contactValueTextArea {
box-shadow: none;
border-color: #fff;
font-size: 18px;
width: 300px;
&:hover {
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
border-color: #ccc;
}
&:focus {
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
border-color: #999;
}
}
.contactValueTextArea {
width: 300px;
}
.contactValueInputLarge {
width: 400px;
}
.hasError {
.contactValueInput {
color: #ee5f5b;
border-color: #ee5f5b;
}
}
.e-save-trigger {
position: absolute;
top: 25px;
left: 10px;
}
.e-read-only-sign {
display: none;
position: absolute;
top: 20px;
right: 40px;
}
.e-share-sign {
position: absolute;
top: 20px;
right: 20px;
cursor: pointer;
}
&.read-only {
.e-read-only-sign {
display: inline-block;
}
.e-share-sign {
display: none;
}
}
}
}

View file

@ -134,7 +134,6 @@ html.rl-no-preview-pane {
}
.listClear {
color: #333;
text-align: center;
padding: 10px;
font-size: 14px;
@ -201,228 +200,228 @@ html.rl-no-preview-pane {
background-color: #f4f4f4;
text-align: center;
}
}
.messageListItem {
.messageListItem {
position: relative;
max-height: 60px;
font-size: 12px;
overflow: hidden;
cursor: pointer;
margin: 0;
padding: 5px 0;
border: 0;
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
border-left: 6px solid #eee;
z-index: 100;
background-color: #f9f9f9;
&.focused {
background-color: #f5f5f5;
border-left-color: #ccc;
}
.importantMark {
display: none;
color:red;
margin-right:5px
}
&.deleted-mark {
opacity: .7;
.subjectParent {
text-decoration: line-through;
}
}
&.important .importantMark {
display: inline;
}
&.new {
max-height: 0;
}
&.deleted {
max-height: 0;
border-color: transparent !important;
}
.checkboxMessage {
padding: 0 8px 0 6px;
font-size: 16px;
}
.flagParent {
padding: 0 10px 0 5px;
}
time {
margin: 0 5px;
color: #999;
font-size: 11px;
white-space: nowrap;
}
.threadsParent {
position: relative;
max-height: 60px;
font-size: 12px;
}
.attachmentParent {
position: relative;
margin: 2px 10px 0 5px;
color: #666;
text-shadow: 0 1px 0 #eee;
}
.senderParent {
overflow: hidden;
cursor: pointer;
text-overflow: ellipsis;
white-space: nowrap;
}
margin: 0;
padding: 5px 0;
border: 0;
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
border-left: 6px solid #eee;
.threadsCountParent {
display: inline;
overflow: hidden;
background-color: #eee;
padding: 1px 5px;
margin-right: 5px;
border: 1px solid #ccc;
border-radius: 5px;
}
z-index: 100;
.threadsCountParent.lastSelected {
background-color: #999;
border-color: #999;
color: #fff;
}
background-color: #f9f9f9;
.threadsCountParent:hover {
border-color: #666;
}
.subjectParent {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.subjectParent .emptySubjectText {
display: none;
font-style: italic;
opacity: 0.5;
}
&.emptySubject .subjectParent {
.subject {
display: none;
}
.emptySubjectText {
display: inline;
}
}
.sender, .subject {
margin-left: 0;
overflow: hidden;
text-overflow: ellipsis;
}
.threads-len {
.threads-len-data {
background-color: #eee;
color: #666;
border-radius: 6px;
padding: 2px 0 1px 6px;
margin-right: 2px;
border: 1px solid #ccc;
&:hover {
background-color: #aaa;
border-color: #666;
text-shadow: 0 1px 0 #999;
color: #fff;
}
}
}
.flagOff {
opacity: 0.5;
&:hover {
opacity: 1;
}
}
.flagOn, .flagOnHalf {
color: orange;
}
.replyFlag, .forwardFlag {
display: none;
margin-right: 0.25em;
}
&.answered .replyFlag {
display: inline-block;
}
&.forwarded .forwardFlag {
display: inline-block;
}
&:not(.withAttachments) .attachmentParent {
display: none;
}
&.hasUnseenSubMessage {
background-color: #FFFFD9;
border-left-color: lighten(orange, 30%);
&.focused {
border-left-color: darken(orange, 10%);
}
}
&.unseen {
background-color: #FFFFD9;
border-left-color: orange;
.sender, .subjectParent {
font-weight: bold;
}
&.focused {
background-color: #f5f5f5;
border-left-color: #ccc;
border-left-color: darken(orange, 10%);
}
}
.importantMark {
display: none;
&.checked {
border-left-color: lighten(#398CF2, 10%);
color:red;
margin-right:5px
&.focused {
border-left-color: darken(#398CF2, 5%);
}
}
&.deleted-mark {
opacity: .7;
.subjectParent {
text-decoration: line-through;
}
&.selected {
background-color: rgba(140, 200, 255, 0.3);
border-bottom-color: rgba(57, 140, 242, 0.2);
border-left-color: #398CF2;
z-index: 101;
+ .messageListItem {
border-bottom-color: rgba(57, 140, 242, 0.3);
}
}
&.important .importantMark {
display: inline;
}
&.new {
max-height: 0;
}
&.deleted {
max-height: 0;
border-color: transparent !important;
}
.checkboxMessage {
padding: 0 8px 0 6px;
font-size: 16px;
}
.flagParent {
padding: 0 10px 0 5px;
}
time {
margin: 0 5px;
color: #999;
font-size: 11px;
white-space: nowrap;
}
.threadsParent {
position: relative;
}
.attachmentParent {
position: relative;
margin: 2px 10px 0 5px;
color: #666;
text-shadow: 0 1px 0 #eee;
}
.senderParent {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.threadsCountParent {
display: inline;
overflow: hidden;
background-color: #eee;
padding: 1px 5px;
margin-right: 5px;
border: 1px solid #ccc;
border-radius: 5px;
}
.threadsCountParent.lastSelected {
background-color: #999;
border-color: #999;
color: #fff;
}
.threadsCountParent:hover {
border-color: #666;
}
.subjectParent {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.subjectParent .emptySubjectText {
display: none;
font-style: italic;
opacity: 0.5;
}
&.emptySubject .subjectParent {
.subject {
display: none;
}
.emptySubjectText {
display: inline;
}
}
.sender, .subject {
margin-left: 0;
overflow: hidden;
text-overflow: ellipsis;
}
.threads-len {
.threads-len-data {
background-color: #eee;
color: #666;
border-radius: 6px;
padding: 2px 0 1px 6px;
margin-right: 2px;
border: 1px solid #ccc;
&:hover {
background-color: #aaa;
border-color: #666;
text-shadow: 0 1px 0 #999;
color: #fff;
}
}
}
.flagOff {
opacity: 0.5;
&:hover {
opacity: 1;
}
}
.flagOn, .flagOnHalf {
color: orange;
}
.replyFlag, .forwardFlag {
display: none;
margin-right: 0.25em;
}
&.answered .replyFlag {
display: inline-block;
}
&.forwarded .forwardFlag {
display: inline-block;
}
&:not(.withAttachments) .attachmentParent {
display: none;
}
&.hasUnseenSubMessage {
background-color: #FFFFD9;
border-left-color: lighten(orange, 30%);
&.focused {
border-left-color: darken(orange, 10%);
}
}
&.unseen {
background-color: #FFFFD9;
border-left-color: orange;
.sender, .subjectParent {
font-weight: bold;
}
&.focused {
border-left-color: darken(orange, 10%);
}
}
&.checked {
border-left-color: lighten(#398CF2, 10%);
&.focused {
border-left-color: darken(#398CF2, 5%);
}
}
&.selected {
background-color: #DFEFFF;
border-bottom-color: rgba(57, 140, 242, 0.2);
border-left-color: #398CF2;
z-index: 101;
+ .messageListItem {
border-bottom-color: rgba(57, 140, 242, 0.3);
}
}
&:not(.flagged) .flagOn,
&:not(.hasFlaggedSubMessage) .flagOnHalf,
&.flagged .flagOff, &.hasFlaggedSubMessage .flagOff {
display: none;
}
&:not(.flagged) .flagOn,
&:not(.hasFlaggedSubMessage) .flagOnHalf,
&.flagged .flagOff, &.hasFlaggedSubMessage .flagOff {
display: none;
}
}

View file

@ -82,7 +82,7 @@
</div>
</div>
</div>
<div class="b-list-footer-toolbar">
<div class="b-list-footer-toolbar thm-message-list-bottom-toolbar">
<div class="footer-pager">
<!-- ko template: { name: 'Paginator', data: contactsPaginator } --><!-- /ko -->
</div>

View file

@ -60,7 +60,8 @@
text-shadow: 0 -1px 0 rgba(255,255,255,.25);
background-color: #000;
}
.btn:not(.btn-success):not(.btn-warning):not(.btn-danger).active, .btn:not(.btn-success):not(.btn-warning):not(.btn-danger):active {
.btn:not(.btn-success):not(.btn-warning):not(.btn-danger).active,
.btn:not(.btn-success):not(.btn-warning):not(.btn-danger):active {
box-shadow: inset 0 2px 4px rgba(255,255,255,.5), 0 1px 2px rgba(255,255,255,.25);
}
.btn .icon-spinner {
@ -120,13 +121,13 @@
border-bottom-color: #444;
}
.messageList .b-content .messageListItem {
.messageList .messageListItem {
background-color: #111;
border-left-color: #111;
color: #EEE;
}
.messageList .b-content .messageListItem.focused,
.messageList .messageListItem.focused,
#rl-popups .b-languages-content .lang-item {
background-color: #222;
}
@ -137,17 +138,23 @@
background-color: #333;
}
.messageList .b-content .messageListItem.hasUnseenSubMessage,
.messageList .b-content .messageListItem.unseen,
.messageList .messageListItem.hasUnseenSubMessage,
.messageList .messageListItem.unseen,
#rl-popups .b-languages-content .lang-item.user {
background-color: #220;
}
.messageList .b-content .messageListItem.selected {
background-color: #345;
}
.b-themes-list .e-item.selected,
#rl-popups .b-languages-content .lang-item.selected {
background-color: #020;
}
.table-striped tbody tr:nth-child(2n+1) td,
.table-striped tbody tr:nth-child(2n+1) th {
background-color: #111;
}
.nav-tabs > .active > a,
.nav-tabs > .active > a:hover {
color: #fff;
background-color: #000;
}