discourse/app/assets/stylesheets/admin/settings.scss
Martin Brennan 37286de6d2
FEATURE: Show themeable site settings in site setting lists (#34666)
This commit removes the filter that would remove themeable
site settings from all setting lists, so they are easier to
find for admins.

To do this, we show the value of the site's default theme
for that theme site setting, disable the setting component,
and provide a link to the site's default theme for quick
editing.

---------

Co-authored-by: awesomerobot <kris.aubuchon@discourse.org>
2025-09-22 10:55:23 +10:00

222 lines
4.1 KiB
SCSS
Vendored

// styles for admin/settings
.settings {
.setting {
padding-bottom: 20px;
.setting-label {
float: left;
width: 17.6576%;
margin-right: 12px;
@media (max-width: $mobile-breakpoint) {
float: none;
margin-right: 0;
margin-left: 0;
width: 100%;
h3 {
margin-bottom: 6px;
}
}
.history-icon {
opacity: 0;
transition: opacity 0.3s;
color: var(--primary-medium);
}
&:hover .history-icon {
opacity: 1;
}
}
.setting-value {
float: left;
width: 53%;
padding-right: 20px;
input[type="checkbox"],
input[type="radio"] {
flex: 0 0 auto;
}
.category-selector {
width: 95%;
}
@media (max-width: $mobile-breakpoint) {
width: 100%;
padding-right: 0;
}
.select-kit {
width: 100% !important; // Needs !important to override hard-coded value
@media (max-width: $mobile-breakpoint) {
width: 100% !important; // !important overrides hard-coded mobile width of 68px
}
}
.image-uploader {
display: flex;
flex-direction: column;
.image-upload-controls {
display: flex;
gap: 0.5em;
margin: 0 0 0.5em;
}
}
.uploaded-image-preview {
background-color: var(--primary-medium);
}
}
.setting-theme-warning {
font-size: var(--font-down-1);
color: var(--primary-medium);
.d-icon {
font-size: var(--font-down-1);
vertical-align: baseline;
}
}
.setting-controls {
float: left;
}
.input-setting-string,
.input-setting-integer,
.input-setting-textarea {
width: 100%;
@media (max-width: $mobile-breakpoint) {
width: 100%;
}
}
.input-setting-textarea {
height: 150px;
}
.input-setting-list {
padding: 1px;
background-color: var(--secondary);
border: 1px solid var(--input-border-color);
border-radius: 3px;
transition:
border linear 0.2s,
box-shadow linear 0.2s;
@media (max-width: $mobile-breakpoint) {
width: 100%;
}
li.sortable-placeholder {
@include unselectable;
padding: 3px 5px 3px 18px;
margin: 3px 0 3px 5px;
position: relative;
line-height: var(--line-height-small);
cursor: default;
border: 1px dashed var(--primary-low-mid);
border-radius: 3px;
background-clip: padding-box;
background-color: transparent;
width: 3em;
height: 1em;
}
}
.desc,
.validation-error {
padding-top: 3px;
font-size: var(--font-down-1);
line-height: var(--line-height-large);
}
.validation-error {
color: var(--danger);
}
.job.site-setting {
display: flex;
flex-direction: row;
p {
margin: 0;
}
.alert {
color: var(--danger);
background-color: transparent;
padding: 0;
}
.success {
color: var(--success);
}
.progress {
margin-left: 0.5rem;
}
}
.desc {
color: var(--primary-medium);
}
h3 {
font-size: var(--font-0);
font-weight: normal;
}
}
.setting.overridden {
.values input {
background-color: var(--highlight-bg);
}
h3 {
position: relative;
&::before {
content: "";
position: absolute;
top: 0.5rem;
left: -1rem;
width: 0.5rem;
height: 0.5rem;
border-radius: 100%;
background-color: var(--highlight-high);
}
}
}
.setting.overridden.string {
input[type="text"],
input[type="password"],
textarea {
background-color: var(--highlight-bg);
}
}
.warning {
color: var(--danger);
}
.file-types-list__button {
margin-top: 0.5em;
margin-bottom: 0.2em;
}
.discourse-tags {
gap: var(--space-1);
.simple {
margin-right: var(--space-1);
}
}
}