discourse/app/assets/stylesheets/desktop/user-card.scss
Penar Musaraj 03deda2147
Upgrade to FontAwesome 5 (take two) (#6673)
* Add missing icons to set

* Revert FA5 revert

 This reverts commit 42572ff

* use new SVG syntax in locales

* Noscript page changes (remove login button, center "powered by" footer text)

* Cast wider net for SVG icons in settings

- include any _icon setting for SVG registry (offers better support for plugin settings)

- let themes store multiple pipe-delimited icons in a setting

- also replaces broken onebox image icon with SVG reference in cooked post processor

* interpolate icons in locales

* Fix composer whisper icon alignment

* Add support for stacked icons

* SECURITY: enforce hostname to match discourse hostname

This ensures that the hostname rails uses for various helpers always matches
the Discourse hostname

* load SVG sprite with pre-initializers

* FIX: enable caching on SVG sprites

* PERF: use JSONP for SVG sprites so they are served from CDN

This avoids needing to deal with CORS for loading of the SVG

Note, added the svg- prefix to the filename so we can quickly tell in
dev tools what the file is

* Add missing SVG sprite JSONP script to CSP

* Upgrade to FA 5.5.0

* Add support for all FA4.7 icons

- adds complete frontend and backend for renamed FA4.7 icons

- improves performance of SvgSprite.bundle and SvgSprite.all_icons

* Fix group avatar flair preview

- adds an endpoint at /svg-sprites/search/:keyword

- adds frontend ajax call that pulls icon in avatar flair preview even when it is not in subset

* Remove FA 4.7 font files
2018-11-26 16:49:57 -05:00

316 lines
5.4 KiB
SCSS

// styles that apply to the "share" popup when sharing a link to a post or topic
// Colors should mostly be absolute here, it will look the same in dark & light themes
$user_card_primary: $primary;
$user_card_background: $secondary;
#user-card,
#group-card {
position: absolute;
width: 580px;
left: -9999px;
top: -9999px;
z-index: z("usercard");
box-shadow: shadow("card");
margin-top: -2px;
color: $user_card_primary;
background: $user_card_background center center;
background-size: cover;
min-height: 175px;
-webkit-transition: opacity 0.2s, -webkit-transform 0.2s;
transition: opacity 0.2s, transform 0.2s;
opacity: 0;
@include transform(scale(0.9));
&.show {
opacity: 1;
@include transform(scale(1));
}
&.fixed {
position: fixed;
z-index: z("composer", "content") + 1;
}
.card-content {
padding: 12px 12px 0 12px;
background: rgba($user_card_background, 0.85);
margin-top: 80px;
&:after {
content: "";
display: block;
clear: both;
}
a.card-huge-avatar {
outline: none;
}
}
.bio {
max-height: 150px;
overflow: auto;
}
&.no-bg {
min-height: 50px;
.card-content {
margin-top: 0;
}
}
.avatar-placeholder {
width: 120px;
height: 120px;
float: left;
padding-right: 10px;
}
h1 {
min-width: 120px;
font-size: $font-up-4;
line-height: $line-height-medium;
display: block;
max-width: 250px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
a {
color: $user_card_primary;
}
.d-icon {
font-size: $font-down-1;
color: $user_card_primary;
}
}
h2 {
font-size: $font-up-1;
line-height: $line-height-large;
margin: 0;
font-weight: normal;
display: block;
max-width: 250px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
a {
color: $user_card_primary;
}
}
h3 {
font-size: $font-0;
font-weight: normal;
margin-top: 0;
color: scale-color($user_card_primary, $lightness: 20%);
overflow: hidden;
text-overflow: ellipsis;
a {
color: scale-color($user_card_background, $lightness: 50%);
}
}
.groups {
font-size: $font-down-1;
font-weight: normal;
margin-top: 0;
color: $user_card_background;
.group-link {
color: $user_card_background;
}
}
.metadata {
width: 100%;
clear: both;
padding-top: 10px;
padding-bottom: 10px;
h3 {
display: inline;
margin-right: 5px;
.desc,
a {
color: scale-color($user_card_primary, $lightness: 35%);
}
}
div {
display: inline;
color: scale-color($user_card_background, $lightness: 50%);
.group-link {
color: scale-color($user_card_background, $lightness: 50%);
}
}
}
.bottom {
clear: both;
padding-top: 10px;
}
.bio {
margin-top: 80px;
clear: left;
a {
color: $user_card_primary;
text-decoration: underline;
}
img {
max-width: 100%;
}
a.mention {
text-decoration: none;
}
.overflow {
max-height: 60px;
overflow: hidden;
}
}
.location-and-website {
display: flex;
width: 100%;
align-items: center;
padding-top: 5px;
.location,
.website-name {
display: flex;
max-width: 90%;
overflow: hidden;
align-items: baseline;
.d-icon {
margin-right: 0.25em;
}
}
.website-name a,
.location span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: $user_card_primary;
}
.location {
margin-right: 0.5em;
}
.website-name a {
text-decoration: underline;
}
}
.user-card-avatar,
.group-card-avatar {
float: left;
margin-right: 10px;
margin-top: -53px;
}
.group-card-avatar {
$size: 120px;
width: $size;
height: $size;
.avatar-flair {
width: $size;
height: $size;
display: flex;
align-items: center;
background-repeat: no-repeat;
background-position: center;
background-size: $size;
color: $primary;
.d-icon {
margin: auto;
font-size: $size / 1.5 !important;
}
&.rounded {
border-radius: 50%;
}
}
}
.members {
padding: 0 0 10px 0;
a {
color: lighten($primary, 40%);
&:hover {
color: $primary;
}
}
}
p {
margin: 0 0 5px 0;
}
.btn {
margin: 0 0 7px 0;
box-sizing: border-box;
}
.usercard-controls {
list-style-type: none;
float: right;
margin: 0;
button {
width: 100%;
min-width: 150px;
}
}
.new-user a {
color: scale-color($user_card_background, $lightness: 70%);
}
.names {
float: left;
width: 45%;
span {
display: block;
width: 250px;
}
}
.badge-section {
float: left;
width: 500px;
padding-bottom: 10px;
margin-top: 5px;
.user-badge {
background: $primary-very-low;
border: 1px solid $primary-low;
color: $user_card_primary;
}
h3 {
color: $user_card_background;
font-size: $font-0;
margin-bottom: -8px;
}
}
.more-user-badges {
@extend .user-badge;
padding: 3px 8px;
}
.suspended {
color: $danger;
margin-bottom: 5px;
clear: left;
padding-top: 15px;
}
.metadata .email .btn {
padding: 2px 12px;
}
}