Cable-Desktop/stylesheets/_global.scss
lilia d6a4e6e496 Restore two column layout
Establishes basic functionality for viewing conversations in two column
mode, including message area and message list resizing, and maintaining
scroll position.

Various subviews need to be retooled but are more or less still
functional, i.e., new message, message detail, key verification, etc...
2015-08-25 17:01:22 -07:00

379 lines
6.6 KiB
SCSS

* {
box-sizing: border-box;
}
html {
height: 100%;
border: solid 1px #ccc;
}
body {
position: relative;
height: 100%;
width: 100%;
margin: 0;
font-family: $roboto;
font-size: 14px;
}
.clearfix:before,
.clearfix:after {
display: table;
content: " ";
}
.clearfix:after {
clear: both;
}
.hide {
display: none;
}
#header {
position: fixed;
top: 1px;
width: calc(100% - 2px);
z-index: 1;
height: $header-height;
line-height: 24px;
color: #f2f2f2;
box-shadow: 0 -4px 3px 4px rgba(darken($header-color, 30%), 0.8);
background-color: $header-color;
-webkit-app-region: drag;
button {
-webkit-app-region: no-drag;
color: inherit;
background-color: $blue;
&:hover {
background-color: rgba(darken($blue, 10%), 0.8);
}
}
}
.window-controls {
float: right;
}
.title-text {
display: block;
text-align: center;
height: $header-height;
line-height: $header-height;
font-family: $roboto-light;
}
.title-bar button {
width: $header-height;
height: $header-height;
line-height: $header-height;
padding: 0;
border: 0;
outline: 0;
}
button { cursor: pointer; }
button.back {
float: left;
background: $header-color url('/images/back.png') no-repeat center center;
& + .title-text {
text-indent: -$header-height;
}
}
.menu {
position: relative;
float: left;
height: 36px;
padding-right: 8px;
.hamburger {
width: $header-height;
height: $header-height;
background: url('/images/menu.png') no-repeat center;
}
.menu-list {
display: none;
position: absolute;
color: $grey_d;
z-index: 1;
top: 100%;
left: 0;
margin: 0;
padding: 0;
border: solid 1px $blue;
background-color: white;
box-shadow: 0 4px 3px 0px rgba(darken($blue, 30%), 0.8);
li {
display: block;
white-space: nowrap;
a {
cursor: pointer;
display: block;
padding: 5px 15px 5px 10px;
&:hover {
background-color: $grey_l;
}
}
}
}
}
.file-input {
position: relative;
margin-right: 10px;
cursor: pointer;
.paperclip {
width: 36px;
height: 100%;
background: url('/images/paperclip.png') no-repeat center center;
background-size: 90%;
margin-top: 4px;
}
input[type=file] {
display: none;
position: absolute;
width: 100%;
height: 100%;
opacity: 0;
top: 0;
left: 0;
cursor: pointer;
z-index: 1;
}
.close {
font-family: sans-serif;
color: white;
position: absolute;
top: 0;
right: -8px;
cursor: default;
border-radius: 50%;
width: 20px;
height: 20px;
padding: 0px;
background: #666;
color: #fff;
text-align: center;
}
}
img.emoji {
height: 1em;
width: 1em;
margin: 0 .05em 0 .1em;
vertical-align: -0.1em;
}
$avatar-size: 44px;
.avatar {
display: inline-block;
height: $avatar-size;
width: $avatar-size;
background: $grey_l url('/images/default.png') no-repeat center;
border-radius: 50%;
background-size: cover;
vertical-align: middle;
text-align: center;
line-height: $avatar-size;
overflow-x: hidden;
text-overflow: ellipsis;
color: white;
}
.new-group-update-form {
background: white;
.group-avatar {
float: left;
}
.group-default {
position: relative;
display: inline-block;
width: 100%;
height: 100%;
border-radius: 50%;
background: $grey_l url('/images/group_default.png') no-repeat center;
}
.file-input .thumbnail, .thumbnail .avatar,
img {
height: 54px;
width: 54px;
border-radius: (54px / 2);
}
.thumbnail:after {
content: '';
position: absolute;
height: 0;
width: 0;
bottom: 0;
right: 0;
border-bottom: 10px solid $grey;
border-left: 10px solid transparent;
}
input.name {
padding: 0.5em;
border: solid 1px #ccc;
border-width: 0 0 1px 0;
width: calc(100% - 64px);
}
.results {
width: calc(100% - 20px);
margin: 0 0 0 20px;
.contact {
z-index: 10;
}
}
}
.group-member-list,
.new-group-update-form {
.members .contact {
box-shadow: none;
border-bottom: 1px solid #eee;
.last-message, .last-timestamp {
display: none;
}
&:hover {
background: white;
cursor: auto;
}
}
}
.title-bar .check {
float: right;
background: url('/images/check.png') no-repeat center center;
}
.contact {
position: relative;
padding: 12px;
background: white;
cursor: pointer;
transition: background 0.2s;
white-space: nowrap;
overflow: hidden;
box-shadow: 0 1px 3px rgba(#aaa, 0.8);
&:hover {
background: #f8f8f8;
}
&:last-child::after {
display: none;
}
.contact-details {
$left-margin: 8px;
vertical-align: top;
display: inline-block;
margin: 4px 0 0 $left-margin;
width: calc(100% - #{$avatar-size} - #{$left-margin});
p {
overflow-x: hidden;
text-overflow: ellipsis;
}
}
.contact-name {
margin: 0;
font-size: 1em;
font-weight: 400;
}
}
.recipients-input {
.recipients-container {
background-color: white;
padding: 2px;
border-bottom: 1px solid #f2f2f2;
line-height: 24px;
}
.recipient {
display: inline-block;
margin: 0 2px 2px 0;
padding: 0 5px;
border-radius: 10px;
background-color: $blue;
color: white;
&.error {
background-color: #f00;
}
.remove {
margin-left: 5px;
padding: 0 2px;
}
}
.contact {
.number {
display: inline-block;
}
.last-message, .last-timestamp {
display: none;
}
.number {
color: $grey;
font-size: small;
}
}
}
.attachment-preview {
width: 100%;
height: 100%;
background: white;
img {
width: 100%;
}
}
// avatar colors
.avatar.colorgray { background-color: #999999 }
.avatar.color1 { background-color: #EF5350 } // red
.avatar.color2 { background-color: #EC407A } // pink
.avatar.color3 { background-color: #AB47BC } // purple
.avatar.color4 { background-color: #7E57C2 } // deep purple
.avatar.color5 { background-color: #5C6BC0 } // indigo
.avatar.color6 { background-color: #2196F3 } // blue
.avatar.color7 { background-color: #03A9F4 } // light blue
.avatar.color8 { background-color: #00BCD4 } // cyan
.avatar.color9 { background-color: #009688 } // teal
.avatar.color10 { background-color: #4CAF50 } // green
.avatar.color11 { background-color: #7CB342 } // light green
.avatar.color12 { background-color: #FF9800 } // orange
.avatar.color13 { background-color: #FF5722 } // deep orange
.avatar.color14 { background-color: #FFB300 } // amber
.avatar.color15 { background-color: #607D8B } // blue grey