mirror of
https://github.com/discourse/discourse.git
synced 2025-02-26 12:43:10 +08:00

When the experimental Sidebar is enabled, the hamburger drop down is replaced by a sidebar drop down. A user is given the ability to dock and undock the sidebar depending on their personal preference. Do also note that the experimental sidebar is well, considered experimental at this point so I do not intend for the features here to be perfect. What I aim to do here is to ship the changes fast so that it can be used internally by the team to provide feedback. Custom links added by plugins and dark mode toggle has not been implemented as part of this commit as I aim to tackle it in another commit. Co-authored-by: awesomerobot <kris.aubuchon@discourse.org>
220 lines
3.4 KiB
SCSS
220 lines
3.4 KiB
SCSS
// Desktop
|
|
// 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
|
|
|
|
:root {
|
|
--d-max-width: 1110px;
|
|
}
|
|
|
|
// Base Elements
|
|
body.widget-dragging {
|
|
cursor: ns-resize;
|
|
}
|
|
|
|
// Common classes
|
|
.boxed {
|
|
height: 100%;
|
|
}
|
|
|
|
.form-vertical {
|
|
.control-group {
|
|
margin-bottom: 1.25em;
|
|
}
|
|
.controls:not(.controls-dropdown) + .controls {
|
|
margin-top: 0.5em;
|
|
}
|
|
}
|
|
|
|
/***********************/
|
|
/* bootstrap carryover */
|
|
/***********************/
|
|
code,
|
|
pre {
|
|
font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono",
|
|
"DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace;
|
|
}
|
|
|
|
// this removes the unwanted top margin on a paragraph under a heading
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6 {
|
|
+ p {
|
|
margin-top: 0;
|
|
}
|
|
}
|
|
|
|
form {
|
|
margin: 0 0 18px;
|
|
}
|
|
|
|
label,
|
|
input,
|
|
button,
|
|
select,
|
|
textarea {
|
|
font-size: $font-0;
|
|
font-weight: normal;
|
|
line-height: $line-height-medium;
|
|
}
|
|
|
|
select,
|
|
textarea {
|
|
display: inline-block;
|
|
margin-bottom: 9px;
|
|
font-size: $font-0;
|
|
line-height: $line-height-large;
|
|
color: var(--primary);
|
|
}
|
|
|
|
input,
|
|
textarea {
|
|
width: 210px;
|
|
}
|
|
|
|
select,
|
|
input[type="file"] {
|
|
line-height: $line-height-large;
|
|
}
|
|
|
|
select {
|
|
width: 220px;
|
|
background: var(--secondary);
|
|
|
|
&[multiple],
|
|
&[size] {
|
|
height: auto;
|
|
}
|
|
}
|
|
|
|
input,
|
|
textarea {
|
|
margin-left: 0;
|
|
}
|
|
|
|
input {
|
|
&[type="radio"],
|
|
&[type="checkbox"] {
|
|
&[disabled],
|
|
&[readonly] {
|
|
background-color: transparent;
|
|
}
|
|
}
|
|
}
|
|
|
|
.input {
|
|
&-xxlarge,
|
|
&-xxlarge + .control-instructions {
|
|
width: 530px;
|
|
}
|
|
}
|
|
|
|
.controls-dropdown {
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.control-instructions {
|
|
color: var(--primary-medium);
|
|
font-size: 0.875rem;
|
|
}
|
|
|
|
.control-group {
|
|
margin-bottom: 9px;
|
|
}
|
|
|
|
.form-horizontal {
|
|
input[type="text"],
|
|
input[type="password"],
|
|
textarea {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.control-group {
|
|
@include clearfix;
|
|
margin-bottom: 18px;
|
|
}
|
|
|
|
.control-indent {
|
|
margin-left: 20px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.control-label {
|
|
margin: 6.5px;
|
|
float: left;
|
|
width: 140px;
|
|
text-align: right;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.controls {
|
|
margin-left: 160px;
|
|
}
|
|
}
|
|
|
|
.bootbox.modal {
|
|
.modal-footer {
|
|
a.btn-primary {
|
|
color: var(--secondary);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* bootstrap columns */
|
|
|
|
.offset {
|
|
&2 {
|
|
margin-left: 116px;
|
|
}
|
|
|
|
&1 {
|
|
margin-left: 64px;
|
|
}
|
|
}
|
|
|
|
// Media Queries
|
|
@media all and (max-width: 570px) {
|
|
body {
|
|
min-width: 0;
|
|
}
|
|
|
|
.wrap,
|
|
.full-width {
|
|
min-width: 0;
|
|
}
|
|
}
|
|
|
|
body.has-sidebar-page {
|
|
.wrap {
|
|
// increase page max-width to accommodate sidebar width
|
|
max-width: calc(var(--d-sidebar-width) + var(--d-max-width));
|
|
}
|
|
.d-header .wrap {
|
|
padding-left: 1.85em;
|
|
}
|
|
#main-outlet-wrapper {
|
|
grid-template-columns: var(--d-sidebar-width) minmax(0, 1fr);
|
|
gap: 0 2em;
|
|
padding-left: 0;
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion: no-preference) {
|
|
body.sidebar-animate {
|
|
#main-outlet-wrapper {
|
|
// grid-template-columns transition supported in Firefox, Chrome support coming summer 2022
|
|
transition-property: grid-template-columns, max-width;
|
|
transition-timing-function: var(--d-sidebar-animation-ease);
|
|
transition-duration: var(--d-sidebar-animation-time);
|
|
}
|
|
|
|
.d-header-wrap .wrap {
|
|
transition: max-width var(--d-sidebar-animation-time)
|
|
var(--d-sidebar-animation-ease);
|
|
}
|
|
}
|
|
}
|