discourse/app/assets/stylesheets/mobile/discourse.scss

194 lines
3.4 KiB
SCSS

// Mobile
// global styles that apply to the Discourse application specifically
// BEWARE: changing these styles implies they take effect anywhere they are seen
// throughout the Discourse application
// Base Elements
body {
background-color: var(--secondary);
}
.ios-device {
textarea {
background-color: var(--secondary);
font-size: var(--font-size-ios-input);
-webkit-tap-highlight-color: transparent;
}
input#reply-title {
-webkit-tap-highlight-color: transparent;
}
}
blockquote {
/* 13px left is intentional here to properly align with post quotes */
padding: 10px 8px 10px 13px;
p {
margin: 0 0 10px 0;
&:last-of-type {
margin-bottom: 0;
}
}
}
// Common classes
.boxed {
.contents {
padding: 10px 0 0 0;
}
}
.control-group {
margin-bottom: 9px;
}
.mobile-nav {
margin: 0;
padding: 0;
list-style: none;
position: relative;
a {
color: var(--primary);
.d-icon {
margin-right: 0.25em;
color: var(--primary-medium);
}
}
> li > a.expander {
display: flex;
align-items: center;
@include form-item-sizing;
border-color: var(--primary-medium);
max-width: 100%;
.selection {
@include ellipsis;
max-width: 120px;
}
> .d-icon {
&:last-of-type {
margin-left: auto;
margin-right: 0;
}
}
}
.drop {
display: none;
&.expanded {
left: 0;
display: block;
position: absolute;
z-index: z("dropdown");
background-color: var(--secondary);
width: 100%;
list-style: none;
margin: 0;
padding: 5px;
border: 1px solid var(--primary-low);
box-sizing: border-box;
li {
margin: 5px 0;
padding: 0;
a {
height: 100%;
display: block;
padding: 5px 8px;
@include ellipsis;
}
}
}
}
}
.form-vertical {
.control-group {
margin-bottom: 12px;
}
}
// Special elements
#main-outlet-wrapper {
margin-left: unset;
margin-right: unset;
}
#main-outlet {
padding-top: 1.25em;
&:after {
// setup overlay for sidebar
content: "";
opacity: 0;
transition: opacity 0.2s;
}
}
#main {
position: relative;
}
// Styles used before the user is logged into discourse. For example, activating
// their account or changing their email.
#simple-container {
width: 90%;
}
// Sidebar styles
#main-outlet-wrapper {
grid-template-columns: minmax(0, 100vw);
grid-template-areas: "content";
gap: 0;
.sidebar-wrapper {
width: 0;
transition: width 0.2s ease-in-out;
z-index: z("modal", "content");
grid-area: content;
justify-self: end;
}
.sidebar-container {
padding-bottom: 6.6em; // extra space to watch out for navbar
}
}
body.has-sidebar-page {
.d-header-wrap {
// edits the z-index when the sidebar is open:
// header
// sidebar & body overlay
// composer
z-index: z("modal", "content") + 1;
}
#main-outlet-wrapper {
.sidebar-wrapper {
width: var(--d-sidebar-width);
margin-right: -10px; // compensate for main-outlet-wrapper padding
}
}
#main-outlet {
&:after {
content: "";
background: rgb(0, 0, 0); // always a black overlay
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: z("modal", "overlay");
opacity: 0.5;
}
}
}