discourse/app/assets/stylesheets/common/base/user-badges.scss
Penar Musaraj c937afc75e
FEATURE: automatic dark mode (#10341)
A first step to adding automatic dark mode color scheme switching. Adds a new SCSS file at `color_definitions.scss` that serves to output all SCSS color variables as CSS custom properties. And replaces all SCSS color variables with the new CSS custom properties throughout the stylesheets. 

This is an alpha feature at this point, can only be enabled via console using the `default_dark_mode_color_scheme_id` site setting.
2020-08-03 22:57:10 -04:00

347 lines
5.7 KiB
SCSS

/* Default badge styles. */
.user-badge {
padding: 3px 8px;
color: var(--primary);
border: 1px solid var(--primary-low);
line-height: $line-height-large;
display: inline-flex;
align-items: center;
background-color: var(--secondary);
margin: 0 0 3px;
img {
height: 16px;
width: 16px;
}
.badge-display-name {
margin-left: 0.25em;
}
&.badge-type-gold .fa {
color: var(--gold) !important;
}
&.badge-type-silver .fa {
color: var(--silver) !important;
}
&.badge-type-bronze .fa {
color: var(--bronze) !important;
}
&.disabled {
color: var(--primary-medium);
background-color: var(--primary-very-low);
.fa {
opacity: 0.4;
}
}
}
@media all and (max-width: 750px) {
.show-badge .user-badge-with-posts .badge-user a.post-link {
width: auto;
}
.show-badge div.badge-user {
padding: 0;
}
.badges-listing {
display: block;
.info,
.grant-count {
text-align: left;
}
.row > div.info {
display: none;
}
.row {
display: block;
> div {
display: block;
margin-top: 10px;
}
}
}
}
.show-badge .badge-user-info {
.earned {
font-size: $font-up-2;
margin-bottom: 1em;
}
}
.show-badge .single-user {
margin-left: 2%;
padding-bottom: 20px;
.load-more {
padding-top: 30px;
display: block;
font-size: $font-up-2;
}
}
.show-badge .single-user .badge-user {
padding-left: 0;
text-align: left;
display: block;
margin: 20px 0;
.badge-info {
display: none;
}
.date {
display: inline-block;
font-size: $font-up-1;
margin-left: 10px;
}
.post-link {
font-size: $font-up-2;
width: 500px;
margin: 0;
padding: 0;
}
width: 800px;
&:after {
content: "";
clear: both;
display: table;
}
}
.long-description.banner {
width: 88%;
margin-bottom: 15px;
margin-top: 15px;
}
.badge-card {
position: relative;
display: inline-block;
background-color: var(--primary-very-low);
border: 1px solid var(--primary-low);
margin-bottom: 2vh;
transition: box-shadow 0.25s;
.check-display {
position: absolute;
left: 5px;
top: 5px;
}
.grant-count {
position: absolute;
right: 5px;
top: 5px;
font-weight: bold;
color: var(--primary-medium);
font-size: $font-up-2;
}
.badge-contents {
display: flex;
min-height: 128px;
height: 100%;
padding: 0 10%;
.badge-link {
color: var(--primary);
}
.badge-icon {
display: flex;
flex: 0 0 auto;
width: 1.23em;
margin-right: 5%;
align-items: center;
justify-content: center;
font-size: 3.5em;
a {
width: 100%;
}
img {
width: 100%;
max-width: 65px;
max-height: 80px;
}
&.badge-type-gold .fa {
color: rgb(231, 195, 0) !important;
}
&.badge-type-silver .fa {
color: #c0c0c0 !important;
}
&.badge-type-bronze .fa {
color: #cd7f32 !important;
}
}
.badge-info {
display: flex;
flex: 1 1 auto;
align-items: center;
padding: 1em 1.5em 1em 0;
color: var(--primary);
@media screen and (max-width: 600px) {
padding-right: 0;
}
h3 {
margin-bottom: 0.25em;
font-size: $font-up-1;
@media screen and (min-width: 900px) {
font-size: $font-up-2;
}
}
}
}
&.medium {
flex: 0 0 auto;
width: 32%;
margin-right: 1.63%;
@media screen and (min-width: 851px) {
&:nth-of-type(3n) {
margin-right: 0;
}
}
@include breakpoint(medium) {
width: 48.5%;
&:nth-of-type(2n) {
margin-right: 0;
}
}
@include breakpoint(mobile-extra-large) {
flex: 0 0 100%;
}
&:hover {
box-shadow: shadow("card");
}
&:active {
box-shadow: none;
}
}
&.large {
width: 100%;
align-self: flex-start;
@media screen and (min-width: 767px) {
max-width: calc(#{$large-width} / 2);
margin-right: 1.5em;
}
.badge-contents {
padding: 0 5%;
h3 {
font-size: $font-up-3;
}
}
}
}
.badges-granted {
display: flex;
flex-wrap: wrap;
@media screen and (max-width: $small-width) {
justify-content: space-between;
}
}
.badge-groups {
margin: 20px 0;
color: var(--primary-med-or-secondary-med);
h3 {
margin-bottom: 1em;
}
}
.badge-title {
.user-content {
padding: 0;
}
}
.badge-group-list {
margin-bottom: 1.5em;
display: flex;
flex-wrap: wrap;
@include breakpoint(medium) {
justify-content: space-between;
}
.title {
width: 100%;
font-size: $font-up-1;
}
}
.show-badge-details {
display: flex;
flex-wrap: wrap;
flex-direction: row;
margin-bottom: 2em;
margin-top: 1em;
.badge-grant-info {
&.hidden {
display: none;
}
}
.grant-info-item {
margin-bottom: 1em;
color: var(--primary-med-or-secondary-med);
&:first-of-type {
margin-right: 10px;
}
}
.badge-set-title {
padding: 1.5em;
border: 1px solid var(--primary-low);
.user-content {
padding: 0;
.control-group {
margin-bottom: 1em;
}
}
}
.badge-title .form-horizontal .controls {
margin-left: 0;
}
.form-horizontal {
margin-bottom: 0;
}
}
.check-display {
display: inline-block;
padding: 0 0.25em;
border-radius: 10px;
text-align: center;
.fa {
font-size: 0.9em;
color: var(--secondary);
}
}
.check-display.status-checked {
background-color: var(--success);
}
.check-display.status-unchecked {
background-color: var(--danger);
}
.hyperlink {
cursor: pointer;
}