0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-14 13:58:53 +08:00
discourse/app/assets/stylesheets/admin/site-settings.scss
Kris fb8ef7ee72
UX: avoid scroll when it's not neccessary (#38760)
Covering a couple cases where we'd end up with a too-tall page and
scrollbars...

1. When the admin changes banner is present, *it* should add height to
avoid overlapping page content. We don't need this extra padding around
when the banner isn't present. So this is now controlled with a
`.has-admin-changes-banner` class on the body rather than padding
elements before they need it.

2. When the sidebar is in slide-out mode on narrow screens, set the
height of the wrapper to `auto`. Without this, sometimes the layout of
the page would be influenced by the wrapper's height.

3. Relocated a `padding-inline: 0;` that was specifically meant for
full-page chat but was applying to too many places.
2026-03-20 14:39:56 -04:00

85 lines
1.5 KiB
SCSS
Vendored

@use "lib/viewport";
.admin-controls.admin-site-settings-filter-controls
.controls
.admin-site-settings-filter-controls__input {
max-width: 300px;
}
.admin-controls.admin-site-settings-filter-controls .menu-toggle {
margin-left: 0.5em;
}
.admin-filtered-site-settings {
padding: 1em;
}
body.has-admin-changes-banner #main-outlet {
// makes space so banner doesn't overlap content
padding-bottom: 6em;
}
.admin-changes-banner {
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
position: fixed;
bottom: var(--space-3);
padding: var(--space-3);
background-color: var(--secondary);
border: 1px solid var(--primary-300);
border-radius: var(--d-border-radius);
box-shadow: var(--shadow-card);
z-index: 1;
.footer-nav-visible & {
bottom: calc(
var(--footer-nav-height) + env(safe-area-inset-bottom) + var(--space-4)
);
}
@include viewport.until(sm) {
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
gap: var(--space-3);
}
.controls {
display: flex;
gap: var(--space-3);
}
em {
font-style: normal;
font-weight: 700;
}
}
.admin-theme-site-settings-row {
&__setting {
.setting-label {
margin: 0;
}
.setting-description {
color: var(--primary-medium);
font-size: var(--font-down-1);
}
}
@include viewport.from(sm) {
&__setting {
width: 40%;
}
&__default {
width: 10%;
}
&__overridden {
width: 50%;
}
}
}