Files
Signal-Desktop/stylesheets/_ios.scss
Scott Nonnenberg c71dcf0139 Show current quoted message above composition field
Note that substantial changes will be required for the updated Android
mockups, putting the quotation into the text box next to the attachment
preview.
2018-04-20 15:23:51 -07:00

428 lines
7.8 KiB
SCSS

$ios-header-border-color: rgba(0,0,0,0.05);
$ios-border-color: rgba(0,0,0,0.1);
.ios {
#header {
height: $header-height;
border-bottom: 1px solid $ios-header-border-color;
border-width: 0 1px 1px 0;
background-color: $grey_l;
color: $grey_d;
h1 { display: none; }
}
.gutter {
border-right: 1px solid $ios-border-color;
.content {
height: calc(100% - #{$header-height});
background: $ios-border-color;
}
.contact {
background: $grey_l;
margin-right: 0;
&.selected {
background: $blue;
color: white;
.last-timestamp {
color: white;
}
}
}
}
.banner {
top: 15px;
}
.tool-bar {
float: left;
padding: 15px;
}
input[type=text]:active,
input[type=text]:focus,
input[type=search]:active,
input[type=search]:focus,
input[type=search].active,
form.active {
outline-offset: 0;
outline: -webkit-focus-ring-color auto 5px;
}
input.search {
border-radius: 5px;
width: 220px;
height: 34px;
padding-left: $search-padding-left-ios;
line-height: 34px;
background-color: #dddddd;
&.active.rtl {
background-position : left $search-padding-left-ios center;
}
}
.conversation-header {
background-color: $grey_l;
color: $grey_d;
border-color: $ios-header-border-color;
text-align: left;
// Without this, it interacts poorly with 100% height placeholder shown on startup
position: absolute;
top: 0;
width: 100%;
z-index: 1;
.conversation-title {
line-height: $header-height;
.verified-icon {
@include color-svg('../images/verified-check.svg', #454545);
}
}
.avatar { display: none; }
}
.conversation .panel {
position: absolute;
top: $header-height;
bottom: 0;
width: 100%;
}
.settings h3,
.menu-list li {
text-transform: capitalize;
}
.bottom-bar {
padding: 15px;
min-height: 30px;
border-top: 1px solid $ios-border-color;
form.send {
border-radius: 5px;
border: 1px solid $ios-border-color;
}
}
.error-message.content,
.control .content {
padding: 10px;
}
.message-container,
.message-list {
.bubble .content {
margin-top: 0px;
}
}
.quoted-message {
border-top-left-radius: 15px;
border-top-right-radius: 15px;
// Not ideal, but necessary to override the specificity of the android theme color
// classes used in conversations.scss
background-color: white !important;
border: 1px solid $grey_l1_5 !important;
border-bottom: none !important;
margin-top: 0px !important;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
.primary {
padding: 10px;
.text,
.filename-label,
.type-label {
border-left: 2px solid $grey_l1;
padding: 5px;
padding-left: 7px;
// Without this smaller bottom padding, text beyond four lines still shows up!
padding-bottom: 2px;
color: black;
}
.author {
display: none;
}
.ios-label {
display: block;
color: $grey_l1;
font-size: smaller;
margin-bottom: 3px;
}
}
.icon-container {
height: 61px;
width: 61px;
min-width: 61px;
.circle-background {
left: 12px;
right: 12px;
top: 12px;
bottom: 12px;
background-color: $blue !important;
}
.icon {
left: 18px;
right: 18px;
top: 18px;
bottom: 18px;
background-color: white !important;
}
.inner {
padding: 12px;
height: 61px;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
}
}
.close-container {
flex: initial;
min-width: 32px;
width: 32px;
height: 48px;
position: relative;
display: flex;
align-items: center;
justify-content: center;
-webkit-mask: none;
background: none;
.close-button {
height: 20px;
width: 20px;
@include color-svg('../images/close-circle.svg', $grey_l4);
}
}
.from-me {
.primary {
.text,
.filename-label,
.type-label {
border-left: 2px solid $blue;
}
}
}
}
.incoming .quoted-message {
border-left: none;
border: none !important;
border-bottom: 1px solid lightgray !important;
}
.quoted-message.from-me .primary {
.text,
.filename-label,
.type-label {
border-left: 2px solid $blue;
}
}
.outgoing .quoted-message,
.private .incoming .quoted-message {
margin-top: 0px;
}
.outgoing .quoted-message .icon-container .circle-background {
background-color: lightgray !important;
}
.bottom-bar {
.quote-wrapper {
margin-right: 0px;
margin-bottom: 15px;
}
.quoted-message {
border-top-left-radius: 0px;
border-top-right-radius: 0px;
background: none !important;
border: none !important;
.primary {
padding: 0px;
.ios-label {
color: $grey_l4;
}
}
.icon-container {
height: 48px;
width: 48px;
min-width: 48px;
.circle-background {
left: 6px;
right: 6px;
top: 6px;
bottom: 6px;
background-color: $blue !important;
}
.icon {
left: 12px;
right: 12px;
top: 12px;
bottom: 12px;
}
.inner {
padding: 0px;
height: 48px;
}
}
}
}
.attachments .bubbled {
border-radius: 15px;
padding: 10px;
padding-top: 0px;
padding-bottom: 5px;
video, audio {
margin-bottom: 5px;
}
position: relative;
}
.tail-wrapper {
margin-bottom: 5px;
}
.inner-bubble {
border-radius: 15px;
overflow: hidden;
.body {
margin-top: 0;
display: inline-block;
padding: 10px;
position: relative;
word-break: break-word;
}
}
.tail-wrapper.with-tail {
position: relative;
&:before, &:after {
content: '';
display: block;
border-radius: 20px;
position: absolute;
width: 10px;
}
&:before {
right: -1px;
bottom: -3px;
height: 10px;
border-radius: 20px;
background: $blue;
}
&:after {
height: 11px;
right: -6px;
bottom: -3px;
background: #eee;
}
}
.meta {
clear: both;
}
.outgoing .tail-wrapper {
float: right;
.inner-bubble {
max-width: 100%;
}
}
.incoming .tail-wrapper {
float: left;
.inner-bubble {
max-width: 100%;
}
}
// We don't add a background to the attachments div unless there's also text. The
// browser doesn't always clip the border-radius properly, so we get a partial-pixel
// halo effect.
.outgoing .with-tail.tail-wrapper {
.attachments {
background-color: $blue;
}
.content {
background-color: $blue;
}
&, .body, a {
@include invert-text-color;
}
}
.incoming .with-tail.tail-wrapper {
&:before {
left: -1px;
background-color: white;
}
&:after {
left: -6px;
}
.inner-bubble {
background-color: white;
color: black;
}
}
.outgoing .attachments .fileView .icon {
@include color-svg('../images/file.svg', white);
&.audio {
@include color-svg('../images/audio.svg', white);
}
&.video {
@include color-svg('../images/video.svg', white);
}
&.voice {
@include color-svg('../images/voice.svg', white);
}
}
.attachment {
a {
border-radius: 15px;
}
img {
margin-right: auto;
margin-left: auto;
}
}
.hourglass {
@include hourglass(#999);
}
}