Update styles to material design to match Android client (first pass)
This commit is contained in:
parent
783a3f7c15
commit
9071d98395
19 changed files with 532 additions and 1241 deletions
|
@ -8,39 +8,39 @@
|
|||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link href='/favicon.ico' rel='shortcut icon'>
|
||||
<link href="/stylesheets/normalize.css" rel="stylesheet" type="text/css" />
|
||||
<link href="/stylesheets/manifest.css" rel="stylesheet" type="text/css" />
|
||||
<link href="/components/bootstrap-tagsinput/dist/bootstrap-tagsinput.css" rel="stylesheet" type="text/css" />
|
||||
<link href="/stylesheets/index.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body class='signal index' data-name="curve25519" data-tools="pnacl" data-configs="Debug Release" data-path="nacl/pnacl/{config}">
|
||||
<div class='title-bar' id='header'>Settings and whatever</div>
|
||||
<ul id='conversation-container'>
|
||||
|
||||
</ul>
|
||||
|
||||
<div class="bottom-bar">
|
||||
<button>Attachments</button>
|
||||
<form class='send'>
|
||||
<input class='send-message' rows='6' type='textarea'>
|
||||
<div class='attachments'>
|
||||
<input type='file' name='files[]' multiple class='file-input'>
|
||||
</div>
|
||||
</form>
|
||||
<button>Send</button>
|
||||
<body class='signal' data-name="curve25519" data-tools="pnacl" data-configs="Debug Release" data-path="nacl/pnacl/{config}">
|
||||
<div class='title-bar' id='header'>
|
||||
<button>●</button>
|
||||
</div>
|
||||
|
||||
<script type='text/x-tmpl-mustache' id='message'>
|
||||
<li>
|
||||
<img class="avatar" src="#" alt="">
|
||||
<div class="bubble {{ bubble_class }}">
|
||||
<p class="content">{{ message }}</p>
|
||||
<p class="sender">{{ sender }}</p>
|
||||
<p class="timestamp">{{ timestamp }}</p>
|
||||
</div>
|
||||
</li>
|
||||
<img class="avatar" src="#" alt="">
|
||||
<div class="bubble {{ bubble_class }}">
|
||||
<p class="content">{{ message }}</p>
|
||||
<!--<p class="sender">{{ sender }}</p>-->
|
||||
<p class="timestamp">{{ timestamp }}</p>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<div class="bottom-bar">
|
||||
<button class="attachment-btn">●</button>
|
||||
<form class='send'>
|
||||
<input class='send-message' rows='6' type='textarea' placeholder="Send TextSecure message">
|
||||
<!--<div class='attachments'>
|
||||
<input type='file' name='files[]' multiple class='file-input'>
|
||||
</div>-->
|
||||
</form>
|
||||
<button class="send-btn">●</button>
|
||||
</div>
|
||||
|
||||
<div class="settings">
|
||||
Welcome to the settings page!!
|
||||
<a href="#" class="go-back">Go Back?</a>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="js/components.js"></script>
|
||||
|
||||
<script type="text/javascript" src="js/libtextsecure.js"></script>
|
||||
|
|
15
index2.html
15
index2.html
|
@ -10,22 +10,22 @@
|
|||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link href='/favicon.ico' rel='shortcut icon'>
|
||||
<link href="/stylesheets/normalize.css" rel="stylesheet" type="text/css" />
|
||||
<link href="/stylesheets/manifest.css" rel="stylesheet" type="text/css" />
|
||||
<link href="/components/bootstrap-tagsinput/dist/bootstrap-tagsinput.css" rel="stylesheet" type="text/css" />
|
||||
<link href="/stylesheets/index.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body class='signal index' data-name="curve25519" data-tools="pnacl" data-configs="Debug Release" data-path="nacl/pnacl/{config}">
|
||||
<div class='title-bar' id='header'>
|
||||
<a href id='new-message'>New message</a>
|
||||
<a href id='new-group'>New group</a>
|
||||
<button>●</button>
|
||||
</div>
|
||||
|
||||
<button class="fab">+</button>
|
||||
|
||||
<div id='gutter' class='gutter'>
|
||||
<div class='search'>
|
||||
<!--<div class='search'>
|
||||
<form>
|
||||
<input name='contact_search' placeholder='Search' type='search'>
|
||||
</form>
|
||||
</div>
|
||||
</div>-->
|
||||
<div id='contacts'></div>
|
||||
</div>
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
|||
<p class='last-message'>
|
||||
{{ last_message }}
|
||||
</p>
|
||||
<span class='last-timestamp'>
|
||||
<span class='timestamp'>
|
||||
{{ last_message_timestamp }}
|
||||
</span>
|
||||
</div>
|
||||
|
@ -65,7 +65,6 @@
|
|||
<script type="text/javascript" src="js/views/list_view.js"></script>
|
||||
<script type="text/javascript" src="js/views/group_update_view.js"></script>
|
||||
<script type="text/javascript" src="js/views/attachment_view.js"></script>
|
||||
<script type="text/javascript" src="js/views/message_view.js"></script>
|
||||
<script type="text/javascript" src="js/views/message_list_view.js"></script>
|
||||
<script type="text/javascript" src="js/views/conversation_list_item_view.js"></script>
|
||||
<script type="text/javascript" src="js/views/conversation_list_view.js"></script>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
this.view = new Whisper.MessageListView({
|
||||
collection: this.model.messageCollection
|
||||
});
|
||||
$('#conversation-container').append(this.view.el);
|
||||
$('#header').after(this.view.el);
|
||||
//new ...({el: $(#conversation-container)})
|
||||
this.model.fetchMessages({reset: true});
|
||||
},
|
||||
|
|
|
@ -20,7 +20,7 @@ var Whisper = Whisper || {};
|
|||
|
||||
Whisper.MessageListView = Whisper.ListView.extend({
|
||||
tagName: 'ul',
|
||||
className: 'discussion',
|
||||
className: 'message-list',
|
||||
itemView: Whisper.MessageView,
|
||||
events: {
|
||||
'add': 'scrollToBottom',
|
||||
|
|
8
stylesheets/_variables.scss
Normal file
8
stylesheets/_variables.scss
Normal file
|
@ -0,0 +1,8 @@
|
|||
// colors
|
||||
$blue_l: #a2d2f4;
|
||||
$blue: #2a92e7;
|
||||
$grey_l: #f3f3f3;
|
||||
$grey: #616161;
|
||||
$grey_d: #454545;
|
||||
|
||||
$roboto: Roboto, 'Helvetica Neue', Arial, Helvetica, sans-serif
|
|
@ -1,39 +0,0 @@
|
|||
.notifications {
|
||||
position:relative;
|
||||
font-size: 12px;
|
||||
.notification {
|
||||
padding:12px;
|
||||
p {
|
||||
margin:0;
|
||||
}
|
||||
&.info {
|
||||
background-color:whitesmoke;
|
||||
border-bottom:1px solid lightgray;
|
||||
}
|
||||
&.alert {}
|
||||
&.warning {}
|
||||
&.success {}
|
||||
a.button {
|
||||
position: absolute;
|
||||
cursor:pointer;
|
||||
right:10px;
|
||||
top:11px;
|
||||
background-color:whitesmoke;
|
||||
text-decoration: none;
|
||||
color:gray;
|
||||
border:1px solid lightgray;
|
||||
font-weight: bold;
|
||||
font-size: 10px;
|
||||
text-align: center;
|
||||
padding:2px;
|
||||
box-sizing: border-box;
|
||||
display:block;
|
||||
height:18px;
|
||||
width:18px;
|
||||
border-radius:18px;
|
||||
&:hover {
|
||||
background-color:lightgray;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
.title-bar {
|
||||
padding:10px;
|
||||
color:white;
|
||||
background-color:#00badd;
|
||||
border-bottom:1px solid darken(#00badd, 5%);
|
||||
h1 {
|
||||
padding:0;
|
||||
font-weight:normal;
|
||||
margin:0.5em 0 0 0;
|
||||
}
|
||||
}
|
|
@ -1,177 +0,0 @@
|
|||
ul.discussion {
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
li.entry .sender {
|
||||
display: none;
|
||||
font-size: 0.75em;
|
||||
opacity: 0.54;
|
||||
}
|
||||
|
||||
.group.conversation li.entry .sender {
|
||||
display: block;
|
||||
}
|
||||
|
||||
|
||||
li.entry .avatar {
|
||||
height:32px;
|
||||
width:32px;
|
||||
border-radius:32px;
|
||||
cursor:pointer;
|
||||
display:inline-block;
|
||||
float:left;
|
||||
clear:both;
|
||||
background-color:whitesmoke;
|
||||
}
|
||||
|
||||
li.entry.outgoing .avatar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
li.entry img {
|
||||
max-width: 100%;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
div.imageAttachment {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
float: left;
|
||||
margin: 6px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
img.preview {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.close {
|
||||
font-family: sans-serif;
|
||||
color: white;
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
left: 20px;
|
||||
text-align: center;
|
||||
cursor: default;
|
||||
border-radius: 50%;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
padding: 0px;
|
||||
|
||||
background: #666;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.bootstrap-tagsinput .tag {
|
||||
background-color: #00badd;
|
||||
padding: 5px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
ul.country-list {
|
||||
min-width: 197px !important;
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
|
||||
div.attachments {
|
||||
width: 95% !important;
|
||||
}
|
||||
|
||||
input.file-input {
|
||||
float: left !important;
|
||||
}
|
||||
|
||||
.modal-wrapper {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
z-index: 10000 !important;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.modal-container {
|
||||
background-color: #FFFFFF;
|
||||
width: 450px;
|
||||
-webkit-box-shadow: 0 0 7px 0 #000000;
|
||||
moz-box-shadow: 0 0 7px 0 #000000;
|
||||
box-shadow: 0 0 7px 0 #000000;
|
||||
display: block;
|
||||
z-index: 10000 !important;
|
||||
margin: 45px auto;
|
||||
position: relative;
|
||||
border: 1px solid #666;
|
||||
}
|
||||
|
||||
.modal-banner {
|
||||
background-color: #00badd;
|
||||
color: #ffffff;
|
||||
height: 45px;
|
||||
line-height: 45px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
font-wight: bold;
|
||||
font-size: 1.5em;
|
||||
position: relative;
|
||||
}
|
||||
.modal-banner span {
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.modal-close {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 12px;
|
||||
bottom: 0;
|
||||
}
|
||||
.modal-close a.modal-close-button {
|
||||
color: #FFFFFF;
|
||||
text-decoration: none;
|
||||
font-size: .8em;
|
||||
}
|
||||
|
||||
.modal-inner {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.modal-inner>p {
|
||||
color: black !important;
|
||||
}
|
||||
|
||||
.modal-padding {
|
||||
padding: 16px 18px;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 450px) {
|
||||
.modal-container {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.modal-banner {
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
font-wight: bold;
|
||||
font-size: 1em;
|
||||
position: relative;
|
||||
}
|
||||
}
|
|
@ -1,292 +1,210 @@
|
|||
@charset "UTF-8";
|
||||
@import url(http://fonts.googleapis.com/css?family=Roboto:400,300,700);
|
||||
body, input {
|
||||
font-family: Roboto, "Helvetica Neue", Arial, Helvetica, sans-serif; }
|
||||
|
||||
body {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
font-weight: normal;
|
||||
text-align: center;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-font-smoothing: antialiased;
|
||||
-ms-font-smoothing: antialiased;
|
||||
-o-font-smoothing: antialiased;
|
||||
font-smoothing: antialiased;
|
||||
hanging-punctuation: first; }
|
||||
margin: 0; }
|
||||
|
||||
/*
|
||||
* This is a series-d manifest file.
|
||||
*
|
||||
* Here, we import responsive variables specified elsewhere
|
||||
*
|
||||
*/
|
||||
/* SERIES D SHAME + WIP */
|
||||
/* includes iPhone, */
|
||||
.title-bar {
|
||||
padding: 10px;
|
||||
color: white;
|
||||
background-color: #00badd;
|
||||
border-bottom: 1px solid #00a5c4; }
|
||||
.title-bar h1 {
|
||||
padding: 0;
|
||||
font-weight: normal;
|
||||
margin: 0.5em 0 0 0; }
|
||||
|
||||
.notifications {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
height: 36px;
|
||||
line-height: 24px;
|
||||
background: #2a92e7;
|
||||
box-shadow: 0 -4px 3px 4px rgba(12, 65, 108, 0.8); }
|
||||
.title-bar button {
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
float: right;
|
||||
margin-right: 8px;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
font-size: 36px;
|
||||
color: white;
|
||||
background: transparent; }
|
||||
|
||||
.fab {
|
||||
z-index: 1;
|
||||
position: fixed;
|
||||
right: 16px;
|
||||
bottom: 22px;
|
||||
height: 60px;
|
||||
width: 60px;
|
||||
border: 0;
|
||||
border-radius: 30px;
|
||||
outline: 0;
|
||||
font: 300 36px Roboto, "Helvetica Neue", Arial, Helvetica, sans-serif;
|
||||
color: white;
|
||||
background: #2a92e7;
|
||||
box-shadow: 0 8px 8px -8px rgba(2, 10, 16, 0.8);
|
||||
transition: box-shadow 0.33s, transform 0.33s, background 0.33s; }
|
||||
.fab:hover {
|
||||
background: #1c8be5;
|
||||
box-shadow: 0 8px 18px -8px rgba(2, 10, 16, 0.9);
|
||||
transform: translate3d(0, -1px, 0); }
|
||||
|
||||
button {
|
||||
cursor: pointer; }
|
||||
|
||||
.timestamp {
|
||||
font-size: 12px; }
|
||||
.notifications .notification {
|
||||
padding: 12px; }
|
||||
.notifications .notification p {
|
||||
margin: 0; }
|
||||
.notifications .notification.info {
|
||||
background-color: whitesmoke;
|
||||
border-bottom: 1px solid lightgray; }
|
||||
.notifications .notification a.button {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
right: 10px;
|
||||
top: 11px;
|
||||
background-color: whitesmoke;
|
||||
text-decoration: none;
|
||||
color: gray;
|
||||
border: 1px solid lightgray;
|
||||
font-weight: bold;
|
||||
font-size: 10px;
|
||||
text-align: center;
|
||||
padding: 2px;
|
||||
box-sizing: border-box;
|
||||
|
||||
.message-list {
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
font-size: 16px;
|
||||
font-weight: 300; }
|
||||
.message-list li {
|
||||
margin: 0 8px 16px; }
|
||||
.message-list li::after {
|
||||
visibility: hidden;
|
||||
display: block;
|
||||
height: 18px;
|
||||
width: 18px;
|
||||
border-radius: 18px; }
|
||||
.notifications .notification a.button:hover {
|
||||
background-color: lightgray; }
|
||||
font-size: 0;
|
||||
content: " ";
|
||||
clear: both;
|
||||
height: 0; }
|
||||
.message-list p {
|
||||
margin: 0; }
|
||||
.message-list .bubble {
|
||||
position: relative;
|
||||
left: -2px;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
max-width: calc(100% - 2 * 54px - 2 * 12px - 8px);
|
||||
padding: 9px 12px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 3px 3px -4px black; }
|
||||
.message-list .bubble::before, .message-list .bubble::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
height: 0;
|
||||
width: 0; }
|
||||
.message-list .bubble::before {
|
||||
top: 19px;
|
||||
border-top: 8px solid transparent;
|
||||
border-bottom: 8px solid transparent; }
|
||||
.message-list .bubble::after {
|
||||
top: 21px;
|
||||
border-top: 6px solid transparent;
|
||||
border-bottom: 6px solid transparent; }
|
||||
.message-list .incoming .bubble {
|
||||
color: #454545;
|
||||
background: #f3f3f3; }
|
||||
.message-list .incoming .bubble::before {
|
||||
left: -10px;
|
||||
border-right: 10px solid white; }
|
||||
.message-list .incoming .bubble::after {
|
||||
left: -8px;
|
||||
border-right: 8px solid #f3f3f3; }
|
||||
.message-list .outgoing img, .message-list .outgoing .bubble {
|
||||
float: right; }
|
||||
.message-list .outgoing .bubble {
|
||||
clear: left;
|
||||
color: white;
|
||||
background: #2a92e7; }
|
||||
.message-list .outgoing .bubble .timestamp {
|
||||
color: #a2d2f4; }
|
||||
.message-list .outgoing .bubble::before {
|
||||
right: -10px;
|
||||
border-left: 10px solid white; }
|
||||
.message-list .outgoing .bubble::after {
|
||||
right: -8px;
|
||||
border-left: 8px solid #2a92e7; }
|
||||
.message-list img {
|
||||
height: 54px;
|
||||
width: 54px;
|
||||
box-sizing: border-box;
|
||||
border: 27px #2a92e7 solid;
|
||||
border-radius: 27px; }
|
||||
.message-list .timestamp {
|
||||
margin-top: 3px;
|
||||
float: right; }
|
||||
|
||||
@media screen and (min-width: 320px) {
|
||||
.search {
|
||||
padding: 10px;
|
||||
border-bottom: 1px solid whitesmoke; }
|
||||
.search input[type=search] {
|
||||
box-sizing: border-box;
|
||||
font-size: 12px;
|
||||
outline: 0;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
letter-spacing: 0.25px;
|
||||
padding: 4px 8px;
|
||||
border: 1px solid lightgray; }
|
||||
.bottom-bar {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
height: 36px;
|
||||
width: 100%;
|
||||
border-top: 1px solid #f3f3f3;
|
||||
background: white; }
|
||||
.bottom-bar button, .bottom-bar input {
|
||||
color: #454545; }
|
||||
.bottom-bar button {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
height: 100%;
|
||||
width: 36px;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
font-size: 24px;
|
||||
background: transparent; }
|
||||
.bottom-bar .attachments-btn {
|
||||
left: 0; }
|
||||
.bottom-bar .send-btn {
|
||||
right: 0; }
|
||||
.bottom-bar form, .bottom-bar input {
|
||||
height: 100%;
|
||||
width: 100%; }
|
||||
.bottom-bar input {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 0 36px;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
font-size: 16px;
|
||||
background: white; }
|
||||
|
||||
.gutter .search {
|
||||
display: none; } }
|
||||
@media screen and (min-width: 480px) {
|
||||
.search {
|
||||
.index {
|
||||
color: #454545;
|
||||
background: #eee; }
|
||||
.index .contact {
|
||||
position: relative;
|
||||
padding: 12px;
|
||||
background: white;
|
||||
cursor: pointer;
|
||||
transition: background 0.2s; }
|
||||
.index .contact::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
right: 16px;
|
||||
bottom: 0;
|
||||
height: 1px;
|
||||
width: calc(100% - 12px - 54px - 2 * 8px - 16px);
|
||||
background: #eee; }
|
||||
.index .contact:hover {
|
||||
background: #f8f8f8; }
|
||||
.index .contact:last-child {
|
||||
box-shadow: 0 1px 3px rgba(170, 170, 170, 0.8); }
|
||||
.index .contact:last-child::after {
|
||||
display: none; }
|
||||
.index .contact-details {
|
||||
vertical-align: top;
|
||||
display: inline-block;
|
||||
width: calc(100% - 54px - 2 * 12px - 8px);
|
||||
margin: 4px 0 0 8px; }
|
||||
.index .contact-name {
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
font-weight: 400; }
|
||||
.index .last-message {
|
||||
margin: 6px 0;
|
||||
font-size: 14px;
|
||||
font-weight: 300; }
|
||||
.index .timestamp {
|
||||
position: absolute;
|
||||
top: 14px;
|
||||
right: 12px;
|
||||
color: #888; }
|
||||
.index img {
|
||||
height: 54px;
|
||||
width: 54px;
|
||||
box-sizing: border-box;
|
||||
border: 27px #f3f3f3 solid;
|
||||
border-radius: 27px; }
|
||||
.index .message-list {
|
||||
display: none; }
|
||||
|
||||
.gutter .search {
|
||||
display: block; } }
|
||||
.gutter {
|
||||
width: 100%;
|
||||
float: left;
|
||||
border-right: 1px solid lightgray;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
overflow: scroll;
|
||||
background-color: white;
|
||||
padding-bottom: 80px;
|
||||
z-index: 100; }
|
||||
.gutter .contact {
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid whitesmoke;
|
||||
color: #333; }
|
||||
.gutter .contact:hover {
|
||||
background-color: whitesmoke;
|
||||
margin-top: -1px;
|
||||
border-bottom: 1px solid lightgray;
|
||||
border-top: 1px solid lightgray; }
|
||||
.gutter .contact.active {
|
||||
background-color: #ecfcff;
|
||||
margin-top: -1px;
|
||||
border-bottom: 1px solid lightgray;
|
||||
border-top: 1px solid lightgray; }
|
||||
.gutter .contact .avatar {
|
||||
height: 42px;
|
||||
width: 42px;
|
||||
border-radius: 42px;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
margin: 10px;
|
||||
margin-right: 14px;
|
||||
float: left;
|
||||
clear: both;
|
||||
background-color: whitesmoke; }
|
||||
.gutter .contact .contact-details {
|
||||
display: none; }
|
||||
.gutter .search {
|
||||
padding: 10px;
|
||||
border-bottom: 1px solid whitesmoke; }
|
||||
.gutter .search input[type=search] {
|
||||
box-sizing: border-box;
|
||||
font-size: 12px;
|
||||
outline: 0;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
letter-spacing: 0.25px;
|
||||
padding: 4px 8px;
|
||||
border: 1px solid lightgray; }
|
||||
.gutter .search.d6 {
|
||||
display: block; }
|
||||
.gutter .contact .avatar {
|
||||
height: 56px;
|
||||
width: 56px; }
|
||||
.gutter .contact .contact-details {
|
||||
display: block;
|
||||
position: relative;
|
||||
width: 156px;
|
||||
float: left;
|
||||
text-align: left; }
|
||||
.gutter .contact .contact-details h3 {
|
||||
font-size: 13px;
|
||||
margin-bottom: 4px; }
|
||||
.gutter .contact .contact-details .contact-name {
|
||||
width: 105px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis; }
|
||||
.gutter .contact .contact-details .last-message {
|
||||
color: #999999;
|
||||
letter-spacing: 0.15px;
|
||||
-webkit-text-stroke: 0.2px;
|
||||
margin: 0;
|
||||
font-size: 12px;
|
||||
width: 150px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis; }
|
||||
.gutter .contact .contact-details .last-timestamp {
|
||||
position: absolute;
|
||||
top: 14px;
|
||||
right: 8px;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: gray; }
|
||||
|
||||
.conversation {
|
||||
margin-top: 10px;
|
||||
width: 100%;
|
||||
padding-right: 12px;
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
margin-bottom: 10px;
|
||||
text-align: left; }
|
||||
|
||||
ul.discussion {
|
||||
display: block;
|
||||
overflow: auto;
|
||||
padding: 0; }
|
||||
|
||||
.entry {
|
||||
display: block;
|
||||
width: 100%;
|
||||
float: left;
|
||||
margin-bottom: 10px; }
|
||||
.entry .timestamp {
|
||||
font-size: 0.75em;
|
||||
display: block; }
|
||||
.entry .timestamp:incoming {
|
||||
color: gray; }
|
||||
.entry .timestamp:outgoing {
|
||||
color: whitesmoke; }
|
||||
.entry.delivered .timestamp::after {
|
||||
margin-left: 4px;
|
||||
content: "✓"; }
|
||||
|
||||
.bubble {
|
||||
border-radius: 16px;
|
||||
padding: 12px;
|
||||
bottom: 10px;
|
||||
width: auto;
|
||||
background-color: whitesmoke; }
|
||||
.bubble:first-of-type {
|
||||
margin-top: 0; }
|
||||
.bubble ul, .bubble li {
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
.bubble .message {
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
-webkit-text-stroke: 0.35px; }
|
||||
.bubble.incoming {
|
||||
float: left;
|
||||
text-align: left;
|
||||
margin-left: 12px; }
|
||||
.bubble.sent {
|
||||
float: right;
|
||||
clear: right;
|
||||
text-align: right;
|
||||
background-color: #00badd;
|
||||
color: white; }
|
||||
|
||||
.avatar img {
|
||||
max-width: 100%; }
|
||||
|
||||
@media screen and (min-width: 320px) {
|
||||
.send-message-area {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
background-color: whitesmoke;
|
||||
box-sizing: border-box;
|
||||
float: left;
|
||||
padding: 16px;
|
||||
width: 100%;
|
||||
border-top: 1px solid lightgray;
|
||||
right: 0; }
|
||||
.send-message-area .send-message {
|
||||
outline: 0;
|
||||
border: 0;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
resize: auto; }
|
||||
|
||||
.message-composer {
|
||||
vertical-align: top;
|
||||
position: relative;
|
||||
background-color: white;
|
||||
margin-bottom: 20px;
|
||||
padding: 8px;
|
||||
border: 1px solid lightgray;
|
||||
font-size: 14px;
|
||||
color: gray;
|
||||
padding-bottom: 80px; }
|
||||
.message-composer .attachments {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
color: lightgray;
|
||||
width: 64px;
|
||||
text-align: center;
|
||||
padding: 6px 4px 0 4px;
|
||||
margin-bottom: 10px;
|
||||
border-top: 1px solid lightgray; }
|
||||
|
||||
.extension-details {
|
||||
font-size: 11px;
|
||||
color: #b9b9b9; }
|
||||
.extension-details a {
|
||||
color: gray;
|
||||
text-decoration: none; }
|
||||
.extension-details ul {
|
||||
padding: 0; }
|
||||
.extension-details li {
|
||||
display: inline-block; }
|
||||
.extension-details li:after {
|
||||
content: " • ";
|
||||
color: lightgray; }
|
||||
.extension-details li:last-of-type:after {
|
||||
content: none; } }
|
||||
@media screen and (min-width: 480px) {
|
||||
.send-message-area {
|
||||
padding-left: 258px; } }
|
||||
@media screen and (min-width: 822px) {
|
||||
.send-message-area {
|
||||
padding-right: 258px; } }
|
||||
|
||||
/*# sourceMappingURL=manifest.css.map */
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,26 +1,15 @@
|
|||
// Signal for the Browser
|
||||
// Signal for the Browser
|
||||
// A universally compatible extension
|
||||
// Below is the ship's manifest
|
||||
|
||||
// Global Settings, Variables, and Mixins
|
||||
|
||||
@import "settings/reset"; // set body style and resets
|
||||
@import "settings/swatchbook";
|
||||
@import "settings/breakpoints";
|
||||
|
||||
// Provide some context
|
||||
|
||||
@import "context/title_bar";
|
||||
@import "context/notifications";
|
||||
@import 'variables';
|
||||
|
||||
// Build the main view
|
||||
@import "view/search";
|
||||
@import "view/gutter";
|
||||
@import "view/conversation";
|
||||
@import "view/send_message_area";
|
||||
@import 'view/conversation';
|
||||
|
||||
// Not sure where something goes, or
|
||||
// implementing a known CSS hack? Add it
|
||||
// to `shame.scss`, and it will be fixed!
|
||||
|
||||
@import "shame";
|
||||
@import 'shame';
|
||||
|
|
375
stylesheets/normalize.css
vendored
375
stylesheets/normalize.css
vendored
|
@ -1,375 +0,0 @@
|
|||
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
|
||||
|
||||
/* ==========================================================================
|
||||
HTML5 display definitions
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Corrects `block` display not defined in IE 8/9.
|
||||
*/
|
||||
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
hgroup,
|
||||
nav,
|
||||
section,
|
||||
summary {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*
|
||||
* Corrects `inline-block` display not defined in IE 8/9.
|
||||
*/
|
||||
|
||||
audio,
|
||||
canvas,
|
||||
video {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/*
|
||||
* Prevents modern browsers from displaying `audio` without controls.
|
||||
* Remove excess height in iOS 5 devices.
|
||||
*/
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Addresses styling for `hidden` attribute not present in IE 8/9.
|
||||
*/
|
||||
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Base
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* 1. Sets default font family to sans-serif.
|
||||
* 2. Prevents iOS text size adjust after orientation change, without disabling
|
||||
* user zoom.
|
||||
*/
|
||||
|
||||
html {
|
||||
font-family: sans-serif; /* 1 */
|
||||
-webkit-text-size-adjust: 100%; /* 2 */
|
||||
-ms-text-size-adjust: 100%; /* 2 */
|
||||
}
|
||||
|
||||
/*
|
||||
* Removes default margin.
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Links
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Addresses `outline` inconsistency between Chrome and other browsers.
|
||||
*/
|
||||
|
||||
a:focus {
|
||||
outline: thin dotted;
|
||||
}
|
||||
|
||||
/*
|
||||
* Improves readability when focused and also mouse hovered in all browsers.
|
||||
*/
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Typography
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
|
||||
* Safari 5, and Chrome.
|
||||
*/
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
/*
|
||||
* Addresses styling not present in IE 8/9, Safari 5, and Chrome.
|
||||
*/
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: 1px dotted;
|
||||
}
|
||||
|
||||
/*
|
||||
* Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/*
|
||||
* Addresses styling not present in Safari 5 and Chrome.
|
||||
*/
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/*
|
||||
* Addresses styling not present in IE 8/9.
|
||||
*/
|
||||
|
||||
mark {
|
||||
background: #ff0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Corrects font family set oddly in Safari 5 and Chrome.
|
||||
*/
|
||||
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: monospace, serif;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/*
|
||||
* Improves readability of pre-formatted text in all browsers.
|
||||
*/
|
||||
|
||||
pre {
|
||||
white-space: pre;
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
/*
|
||||
* Sets consistent quote types.
|
||||
*/
|
||||
|
||||
q {
|
||||
quotes: "\201C" "\201D" "\2018" "\2019";
|
||||
}
|
||||
|
||||
/*
|
||||
* Addresses inconsistent and variable font size in all browsers.
|
||||
*/
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/*
|
||||
* Prevents `sub` and `sup` affecting `line-height` in all browsers.
|
||||
*/
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Embedded content
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Removes border when inside `a` element in IE 8/9.
|
||||
*/
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Corrects overflow displayed oddly in IE 9.
|
||||
*/
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Figures
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Addresses margin not present in IE 8/9 and Safari 5.
|
||||
*/
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Forms
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Define consistent border, margin, and padding.
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
border: 1px solid #c0c0c0;
|
||||
margin: 0 2px;
|
||||
padding: 0.35em 0.625em 0.75em;
|
||||
}
|
||||
|
||||
/*
|
||||
* 1. Corrects color not being inherited in IE 8/9.
|
||||
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
|
||||
*/
|
||||
|
||||
legend {
|
||||
border: 0; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/*
|
||||
* 1. Corrects font family not being inherited in all browsers.
|
||||
* 2. Corrects font size not being inherited in all browsers.
|
||||
* 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
|
||||
*/
|
||||
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
font-family: inherit; /* 1 */
|
||||
font-size: 100%; /* 2 */
|
||||
margin: 0; /* 3 */
|
||||
}
|
||||
|
||||
/*
|
||||
* Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
|
||||
* the UA stylesheet.
|
||||
*/
|
||||
|
||||
button,
|
||||
input {
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
||||
* and `video` controls.
|
||||
* 2. Corrects inability to style clickable `input` types in iOS.
|
||||
* 3. Improves usability and consistency of cursor style between image-type
|
||||
* `input` and others.
|
||||
*/
|
||||
|
||||
button,
|
||||
html input[type="button"], /* 1 */
|
||||
input[type="reset"],
|
||||
input[type="submit"] {
|
||||
-webkit-appearance: button; /* 2 */
|
||||
cursor: pointer; /* 3 */
|
||||
}
|
||||
|
||||
/*
|
||||
* Re-set default cursor for disabled elements.
|
||||
*/
|
||||
|
||||
button[disabled],
|
||||
input[disabled] {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/*
|
||||
* 1. Addresses box sizing set to `content-box` in IE 8/9.
|
||||
* 2. Removes excess padding in IE 8/9.
|
||||
*/
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
box-sizing: border-box; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/*
|
||||
* 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
|
||||
* 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
|
||||
* (include `-moz` to future-proof).
|
||||
*/
|
||||
|
||||
input[type="search"] {
|
||||
-webkit-appearance: textfield; /* 1 */
|
||||
-moz-box-sizing: content-box;
|
||||
-webkit-box-sizing: content-box; /* 2 */
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
/*
|
||||
* Removes inner padding and search cancel button in Safari 5 and Chrome
|
||||
* on OS X.
|
||||
*/
|
||||
|
||||
input[type="search"]::-webkit-search-cancel-button,
|
||||
input[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/*
|
||||
* Removes inner padding and border in Firefox 4+.
|
||||
*/
|
||||
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* 1. Removes default vertical scrollbar in IE 8/9.
|
||||
* 2. Improves readability and alignment in all browsers.
|
||||
*/
|
||||
|
||||
textarea {
|
||||
overflow: auto; /* 1 */
|
||||
vertical-align: top; /* 2 */
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Tables
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Remove most spacing between table cells.
|
||||
*/
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
/*
|
||||
* This is a series-d manifest file.
|
||||
*
|
||||
* Here, we import responsive variables specified elsewhere
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* SERIES D SHAME + WIP */
|
||||
|
||||
$D7: 'screen and (min-width: 320px)'; /* includes iPhone, */
|
||||
$D6: 'screen and (min-width: 480px)';
|
||||
$D5: 'screen and (min-width: 822px)';
|
||||
$D4: 'screen and (min-width: 1081px)';
|
||||
$D3: 'screen and (min-width:1441px)';
|
|
@ -1,11 +0,0 @@
|
|||
body {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
font-weight: normal;
|
||||
text-align: center;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-font-smoothing: antialiased;
|
||||
-ms-font-smoothing: antialiased;
|
||||
-o-font-smoothing: antialiased;
|
||||
font-smoothing: antialiased;
|
||||
hanging-punctuation: first;
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
|
||||
$blue:#00badd;
|
||||
$lightblue:lighten($blue, 53%);
|
|
@ -1,82 +1,302 @@
|
|||
.conversation {
|
||||
margin-top:10px;
|
||||
width:100%;
|
||||
padding-right:12px;
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
margin-bottom:10px;
|
||||
text-align: left;
|
||||
@import url(http://fonts.googleapis.com/css?family=Roboto:400,300,700);
|
||||
|
||||
body, input {
|
||||
font-family: $roboto;
|
||||
}
|
||||
|
||||
ul.discussion {
|
||||
display:block;
|
||||
overflow:auto;
|
||||
padding:0;
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.entry {
|
||||
display:block;
|
||||
width:100%;
|
||||
float:left;
|
||||
margin-bottom:10px;
|
||||
.title-bar {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
height: 36px;
|
||||
line-height: 24px;
|
||||
background: $blue;
|
||||
box-shadow: 0 -4px 3px 4px rgba(darken($blue, 30%), 0.8);
|
||||
|
||||
button {
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
float: right;
|
||||
margin-right: 8px;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
font-size: 36px;
|
||||
color: white;
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.fab {
|
||||
z-index: 1;
|
||||
position: fixed;
|
||||
right: 16px;
|
||||
bottom: 22px;
|
||||
height: 60px;
|
||||
width: 60px;
|
||||
border: 0;
|
||||
border-radius: (60px / 2);
|
||||
outline: 0;
|
||||
font: 300 36px $roboto;
|
||||
color: white;
|
||||
background: $blue;
|
||||
box-shadow: 0 8px 8px -8px rgba(darken($blue, 50%), 0.8);
|
||||
transition: box-shadow 0.33s, transform 0.33s, background 0.33s;
|
||||
|
||||
&:hover {
|
||||
background: darken($blue, 3%);
|
||||
box-shadow: 0 8px 18px -8px rgba(darken($blue, 50%), 0.9);
|
||||
transform: translate3d(0, -1px, 0);
|
||||
}
|
||||
}
|
||||
|
||||
button {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.timestamp {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.message-list {
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
font-size: 16px;
|
||||
font-weight: 300;
|
||||
|
||||
li {
|
||||
margin: 0 8px 16px;
|
||||
|
||||
&::after {
|
||||
visibility: hidden;
|
||||
display: block;
|
||||
font-size: 0;
|
||||
content: " ";
|
||||
clear: both;
|
||||
height: 0;
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.bubble {
|
||||
position: relative;
|
||||
left: -2px;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
max-width: calc(100% - 2 * 54px - 2 * 12px - 8px);
|
||||
padding: 9px 12px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 3px 3px -4px black;
|
||||
|
||||
&::before, &::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
height: 0;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
&::before {
|
||||
top: (54px / 2) - 8px;
|
||||
border-top: 8px solid transparent;
|
||||
border-bottom: 8px solid transparent;
|
||||
}
|
||||
|
||||
&::after {
|
||||
top: (54px / 2) - 6px;
|
||||
border-top: 6px solid transparent;
|
||||
border-bottom: 6px solid transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.incoming {
|
||||
.bubble {
|
||||
color: $grey_d;
|
||||
background: $grey_l;
|
||||
|
||||
&::before {
|
||||
left: -10px;
|
||||
border-right: 10px solid white;
|
||||
}
|
||||
|
||||
&::after {
|
||||
left: -8px;
|
||||
border-right: 8px solid $grey_l;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.outgoing {
|
||||
|
||||
img, .bubble {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.bubble {
|
||||
clear: left;
|
||||
color: white;
|
||||
background: $blue;
|
||||
|
||||
.timestamp {
|
||||
color: $blue_l;
|
||||
}
|
||||
|
||||
&::before {
|
||||
right: -10px;
|
||||
border-left: 10px solid white;
|
||||
}
|
||||
|
||||
&::after {
|
||||
right: -8px;
|
||||
border-left: 8px solid $blue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
img {
|
||||
height: 54px;
|
||||
width: 54px;
|
||||
// delete next 2 lines
|
||||
box-sizing: border-box;
|
||||
border: (54px / 2) $blue solid;
|
||||
border-radius: (54px / 2);
|
||||
}
|
||||
|
||||
.timestamp {
|
||||
font-size: 0.75em;
|
||||
display: block;
|
||||
margin-top: 3px;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
&:incoming {
|
||||
color: gray;
|
||||
}
|
||||
.bottom-bar {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
height: 36px;
|
||||
width: 100%;
|
||||
border-top: 1px solid $grey_l;
|
||||
background: white;
|
||||
|
||||
&:outgoing {
|
||||
color: whitesmoke;
|
||||
}
|
||||
button, input {
|
||||
color: $grey_d;
|
||||
}
|
||||
|
||||
&.delivered .timestamp {
|
||||
button {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
height: 100%;
|
||||
width: 36px;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
font-size: 24px;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.attachments-btn {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.send-btn {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
form, input {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
input {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 0 36px;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
font-size: 16px;
|
||||
background: white;
|
||||
}
|
||||
}
|
||||
|
||||
// conversation list part
|
||||
.index {
|
||||
color: $grey_d;
|
||||
background: #eee;
|
||||
|
||||
.contact {
|
||||
position: relative;
|
||||
padding: 12px;
|
||||
background: white;
|
||||
cursor: pointer;
|
||||
transition: background 0.2s;
|
||||
|
||||
&::after {
|
||||
margin-left: 4px;
|
||||
content: "✓";
|
||||
content: '';
|
||||
position: absolute;
|
||||
right: 16px;
|
||||
bottom: 0;
|
||||
height: 1px;
|
||||
width: calc(100% - 12px - 54px - 2 * 8px - 16px);
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: #f8f8f8;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
box-shadow: 0 1px 3px rgba(#aaa, 0.8);
|
||||
|
||||
&::after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bubble {
|
||||
//position:relative;
|
||||
border-radius:16px;
|
||||
padding:12px;
|
||||
bottom:10px;
|
||||
width:auto;
|
||||
background-color:whitesmoke;
|
||||
&:first-of-type {
|
||||
margin-top: 0;
|
||||
.contact-details {
|
||||
vertical-align: top;
|
||||
display: inline-block;
|
||||
width: calc(100% - 54px - 2 * 12px - 8px);
|
||||
margin: 4px 0 0 8px;
|
||||
}
|
||||
|
||||
.contact-name {
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.last-message {
|
||||
margin: 6px 0;
|
||||
font-size: 14px;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.timestamp {
|
||||
position: absolute;
|
||||
top: 14px;
|
||||
right: 12px;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
img {
|
||||
height: 54px;
|
||||
width: 54px;
|
||||
// delete next 2 lines
|
||||
box-sizing: border-box;
|
||||
border: (54px / 2) $grey_l solid;
|
||||
border-radius: (54px / 2);
|
||||
}
|
||||
|
||||
// TODO: RJS
|
||||
// SHAAAAAAME!!!!
|
||||
.message-list {
|
||||
display: none;
|
||||
}
|
||||
ul, li {
|
||||
display:block;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
.message {
|
||||
position:relative;
|
||||
font-size:14px;
|
||||
-webkit-text-stroke: 0.35px;
|
||||
}
|
||||
&.incoming {
|
||||
float:left;
|
||||
text-align: left;
|
||||
margin-left:12px;
|
||||
}
|
||||
&.sent {
|
||||
float:right;
|
||||
clear:right;
|
||||
text-align: right;
|
||||
background-color:#00badd;
|
||||
color:white;
|
||||
}
|
||||
&.sent .volley {
|
||||
}
|
||||
}
|
||||
|
||||
.avatar img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
|
|
@ -1,107 +0,0 @@
|
|||
.gutter {
|
||||
width:100%;
|
||||
float:left;
|
||||
border-right:1px solid lightgray;
|
||||
position:relative;
|
||||
box-sizing: border-box;
|
||||
overflow: scroll;
|
||||
background-color:white;
|
||||
padding-bottom:80px;
|
||||
|
||||
.contact {
|
||||
cursor:pointer;
|
||||
float:left;
|
||||
width:100%;
|
||||
border-bottom:1px solid whitesmoke;
|
||||
color:#333;
|
||||
&:hover {
|
||||
background-color:whitesmoke;
|
||||
margin-top:-1px;
|
||||
border-bottom:1px solid lightgray;
|
||||
border-top:1px solid lightgray;
|
||||
}
|
||||
&.active {
|
||||
background-color:$lightblue;
|
||||
margin-top:-1px;
|
||||
border-bottom:1px solid lightgray;
|
||||
border-top:1px solid lightgray;
|
||||
}
|
||||
.avatar {
|
||||
height:42px;
|
||||
width:42px;
|
||||
border-radius:42px;
|
||||
cursor:pointer;
|
||||
display:inline-block;
|
||||
margin:10px;
|
||||
margin-right:14px;
|
||||
float:left;
|
||||
clear:both;
|
||||
background-color:whitesmoke;
|
||||
}
|
||||
.contact-details {
|
||||
display:none;
|
||||
}
|
||||
}
|
||||
|
||||
z-index:100;
|
||||
.search {
|
||||
padding:10px;
|
||||
border-bottom:1px solid whitesmoke;
|
||||
input[type=search] {
|
||||
box-sizing: border-box;
|
||||
font-size:12px;
|
||||
outline:0;
|
||||
width:100%;
|
||||
margin:0;
|
||||
letter-spacing: 0.25px;
|
||||
padding:4px 8px;
|
||||
border:1px solid lightgray;
|
||||
}
|
||||
&.d6 {
|
||||
display:block;
|
||||
}
|
||||
}
|
||||
.contact {
|
||||
.avatar {
|
||||
height:56px;
|
||||
width:56px;
|
||||
}
|
||||
.contact-details {
|
||||
display:block;
|
||||
position:relative;
|
||||
width:156px;
|
||||
float:left;
|
||||
text-align: left;
|
||||
h3 {
|
||||
font-size:13px;
|
||||
margin-bottom:4px;
|
||||
}
|
||||
.contact-name {
|
||||
width: 105px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.last-message {
|
||||
color:lighten(#333, 40%);
|
||||
letter-spacing:0.15px;
|
||||
-webkit-text-stroke: 0.2px;
|
||||
margin:0;
|
||||
font-size: 12px;
|
||||
width: 150px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.last-timestamp {
|
||||
position:absolute;
|
||||
top:14px;
|
||||
right:8px;
|
||||
font-size:12px;
|
||||
font-weight: 500;
|
||||
color:gray;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
@media #{$D7} {
|
||||
.search {
|
||||
padding:10px;
|
||||
border-bottom:1px solid whitesmoke;
|
||||
input[type=search] {
|
||||
box-sizing: border-box;
|
||||
font-size:12px;
|
||||
outline:0;
|
||||
width:100%;
|
||||
margin:0;
|
||||
letter-spacing: 0.25px;
|
||||
padding:4px 8px;
|
||||
border:1px solid lightgray;
|
||||
}
|
||||
}
|
||||
.gutter .search {
|
||||
display:none;
|
||||
}
|
||||
}
|
||||
|
||||
@media #{$D6} {
|
||||
.search {
|
||||
display:none;
|
||||
}
|
||||
.gutter .search {
|
||||
display:block;
|
||||
}
|
||||
}
|
|
@ -1,77 +0,0 @@
|
|||
@media #{$D7} {
|
||||
.send-message-area {
|
||||
position:fixed;
|
||||
bottom:0;
|
||||
background-color:whitesmoke;
|
||||
box-sizing: border-box;
|
||||
float:left;
|
||||
padding:16px;
|
||||
width:100%;
|
||||
border-top:1px solid lightgray;
|
||||
right:0;
|
||||
.send-message {
|
||||
outline:0;
|
||||
border:0;
|
||||
width:100%;
|
||||
padding:0;
|
||||
resize:auto;
|
||||
}
|
||||
}
|
||||
|
||||
.message-composer {
|
||||
vertical-align: top;
|
||||
position:relative;
|
||||
background-color:white;
|
||||
margin-bottom:20px;
|
||||
padding:8px;
|
||||
border:1px solid lightgray;
|
||||
font-size:14px;
|
||||
color:gray;
|
||||
padding-bottom:80px;
|
||||
.attachments {
|
||||
position:absolute;
|
||||
bottom:0;
|
||||
color:lightgray;
|
||||
width:64px;
|
||||
text-align: center;
|
||||
padding:6px 4px 0 4px;
|
||||
margin-bottom:10px;
|
||||
border-top:1px solid lightgray;
|
||||
}
|
||||
}
|
||||
|
||||
.extension-details {
|
||||
font-size:11px;
|
||||
color:darken(lightgray, 10%);
|
||||
a {
|
||||
color:gray;
|
||||
text-decoration: none;
|
||||
}
|
||||
ul {
|
||||
padding:0;
|
||||
}
|
||||
li {
|
||||
display:inline-block;
|
||||
&:after {
|
||||
content:" • ";
|
||||
color:lightgray;
|
||||
}
|
||||
&:last-of-type:after {
|
||||
content:none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media #{$D6} {
|
||||
.send-message-area {
|
||||
padding-left:258px;
|
||||
}
|
||||
}
|
||||
|
||||
@media #{$D5} {
|
||||
.send-message-area {
|
||||
padding-right:258px;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue