discourse/app/assets/stylesheets/desktop/compose.scss
Penar Musaraj ceb29d3eea UX: Full viewport composer layout on iPad
Partially reverts 94ab48c by using Safari hacks on iPad again.

This brings parity in the composer UI between iPhones and iPads

Hides grippie and fullscreen toggle button when the keyboard is visible on iPads
2019-10-02 12:36:11 -04:00

295 lines
4.8 KiB
SCSS

#reply-control {
.reply-area {
margin: 0 auto;
padding: 5px 15px;
box-sizing: border-box;
height: calc(100% - 11px);
width: 100%;
.submit-panel {
flex-wrap: wrap;
align-items: center;
}
}
#private-message-users {
width: 404px;
}
.select-kit.is-expanded {
z-index: z("composer", "dropdown") + 1;
}
}
.category-input {
margin-left: 10px;
}
.edit-title {
.d-editor-preview-wrapper {
margin-top: -43px;
}
&:not(.private-message) {
.d-editor-preview-wrapper {
@media screen and (max-width: 955px) {
margin-top: -77px;
}
}
}
.with-tags {
.d-editor-preview-wrapper {
margin-top: -77px;
@media screen and (max-width: 900px) {
margin-top: -105px;
}
}
}
}
.closed {
.grippie {
display: none;
}
}
.open {
.grippie {
cursor: row-resize;
padding: 4px 0;
background: $tertiary;
&:before {
content: "";
display: block;
width: 27px;
margin: auto;
border-top: 3px double $secondary;
}
}
}
.discourse-touch {
.open {
.grippie {
padding: 7px 0;
}
}
}
.composer-popup-container {
max-width: 1500px;
margin-left: auto;
margin-right: auto;
}
.composer-popup {
position: absolute;
width: calc(50% - 45px);
max-width: 724px;
top: 20px;
bottom: 10px;
left: 51%;
overflow-y: auto;
z-index: z("composer", "popover");
padding: 10px 10px 35px 10px;
box-shadow: shadow("card");
background: $highlight-medium;
.hide-preview & {
z-index: z("composer", "dropdown") + 1;
}
&.urgent {
background: $danger-low;
}
&.education-message {
background-color: $tertiary-low;
}
h3 {
margin-bottom: 10px;
}
p {
margin-bottom: 10px;
}
a.close {
display: flex;
align-items: center;
position: absolute;
right: 10px;
top: 10px;
color: $primary;
opacity: 0.5;
font-size: $font-up-1;
&:before {
content: "esc";
font-size: $font-down-1;
margin-right: 0.5em;
}
}
a.close:hover {
opacity: 1;
}
ul {
list-style: none;
margin: 0;
padding: 0;
li {
font-weight: normal;
margin-top: 8px;
}
}
}
.composer-controls {
.d-chevron-down {
vertical-align: text-top;
}
}
.custom-body {
background-color: $tertiary-low;
p {
max-width: 98%;
}
}
.similar-topics {
background-color: $tertiary-low;
a[href] {
color: $primary;
}
.posts-count {
background-color: $tertiary;
}
.search-link {
.topic-title {
flex: 0 1 auto;
margin-right: 0.5em;
}
.topic-statuses:empty {
display: none;
}
span.badge-wrapper {
margin-left: 0;
}
.blurb {
color: $primary-high;
}
.topic-title,
.blurb {
.d-icon {
color: $primary-high;
}
}
span.topic {
display: flex;
flex-direction: column;
.first-line {
flex: 1;
}
.second-line {
display: flex;
flex-wrap: wrap;
align-items: center;
.discourse-tags {
flex-wrap: wrap;
display: contents;
font-size: $font-down-1;
}
}
}
}
}
.composer-popup:nth-of-type(2) {
margin-left: 10px;
width: calc(50% - 65px);
}
a.toggle-preview {
color: $primary-high;
&:hover {
color: $tertiary;
}
}
#draft-status,
#file-uploading {
flex-grow: 1;
text-align: right;
}
html.keyboard-visible {
.grippie,
&:not(.fullscreen-composer) .toggle-fullscreen {
display: none;
}
#reply-control.open {
height: calc(var(--composer-vh, 1vh) * 100);
}
}
// fullscreen composer styles
.fullscreen-composer {
overflow: hidden;
.profiler-results {
display: none;
}
#reply-control {
&.fullscreen {
// important needed because of inline styles when height is changed manually with grippie
height: 100vh !important;
@supports (--custom: property) {
height: calc(var(--composer-vh, 1vh) * 100) !important;
}
z-index: z("header") + 1;
.d-editor-preview-wrapper {
margin-top: 1%;
}
.reply-to {
border-bottom: 1px solid $primary-low;
padding-bottom: 3px;
margin: 0;
.composer-controls {
margin-right: 0;
}
}
.d-editor-textarea-wrapper {
border: none;
}
&.show-preview .d-editor-textarea-wrapper {
border-right: 1px solid $primary-low;
}
#draft-status,
#file-uploading {
margin-left: 0;
text-align: initial;
}
.composer-popup {
top: 30px;
}
&:before {
content: "";
background: $secondary;
width: 100%;
height: 100%;
position: fixed;
z-index: -1;
left: 0;
}
}
}
}