signal-desktop/stylesheets/_ios.scss
lilia 3ea5c0435b Update attachment style
Add names and sizes for all attachments except images, and (as with
arbitrary attachments), clicking on the text will open a save dialog.
In the absence of a filename, choose something that makes sense.

Display different icons for different media types, including distinct icons
for voice notes and audio files.

In iOS theme, audio, video, voice, and files are all encapsulated in bubbles.

Closes #804
Closes #842
Closes #836

// FREEBIE
2017-05-12 15:27:45 -07:00

224 lines
4.3 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;
}
}
}
::-webkit-scrollbar-track {
background: $grey_l;
}
}
.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;
.conversation-title {
line-height: $header-height;
}
.avatar { display: none; }
}
.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-list .attachments .bubbled {
border-radius: 15px;
margin-bottom: 0.25em;
padding: 10px;
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: white;
}
}
.bubble {
.content {
margin-bottom: 5px;
.body {
display: inline-block;
padding: 10px;
position: relative;
word-break: break-word;
&: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: white;
}
}
}
.content, .attachments img {
border-radius: 15px;
}
.attachments img {
border: 1px solid $ios-border-color;
}
.meta {
clear: both;
}
}
.message-list .incoming .bubbled {
background-color: #e6e5ea;
color: black;
float: left;
&:before {
left: -1px;
background-color: #e6e5ea;
}
&:after {
left: -6px;
}
}
.incoming .content {
background-color: #e6e5ea;
color: black;
float: left;
.body {
&:before {
left: -1px;
background-color: #e6e5ea;
}
&:after {
left: -6px;
}
}
}
.outgoing {
.content, .attachments .bubbled {
background-color: $blue;
&, .body, a {
@include invert-text-color;
}
float: right;
}
}
.outgoing .attachments .fileView .icon {
&::before {
@include color-svg('/images/file.svg', white);
}
&.audio:before {
@include color-svg('/images/audio.svg', white);
}
&.video:before {
@include color-svg('/images/video.svg', white);
}
&.voice:before {
@include color-svg('/images/voice.svg', white);
}
}
.attachment {
a {
border-radius: 15px;
}
margin-bottom: 1px;
}
.hourglass {
@include hourglass(#999);
}
}