Update styles to material design to match Android client (first pass)

This commit is contained in:
Riley Shaw 2015-01-19 16:44:34 -10:00 committed by lilia
parent 783a3f7c15
commit 9071d98395
19 changed files with 532 additions and 1241 deletions

View file

@ -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>

View file

@ -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>

View file

@ -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});
},

View file

@ -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',

View 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

View file

@ -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;
}
}
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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

View file

@ -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';

View file

@ -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;
}

View file

@ -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)';

View file

@ -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;
}

View file

@ -1,3 +0,0 @@
$blue:#00badd;
$lightblue:lighten($blue, 53%);

View file

@ -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%;
}

View file

@ -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;
}
}
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}