user_card.scss (6118B)
- .user-card {
- position: relative;
- z-index: 1;
- &:hover {
- --_still-image-img-visibility: visible;
- --_still-image-canvas-visibility: hidden;
- --_still-image-label-visibility: hidden;
- }
- .panel-heading {
- padding: 0.5em 0;
- text-align: center;
- box-shadow: none;
- background: transparent;
- flex-direction: column;
- align-items: stretch;
- // create new stacking context
- position: relative;
- }
- .background-image {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- mask:
- linear-gradient(to top, white, transparent) bottom no-repeat,
- linear-gradient(to top, white, white);
- // Autoprefixer seem to ignore this one, and also syntax is different
- mask-composite: xor;
- mask-composite: exclude;
- background-size: cover;
- mask-size: 100% 60%;
- border-top-left-radius: calc(var(--__roundnessTop, --panelRadius) - 1px);
- border-top-right-radius: calc(var(--__roundnessTop, --panelRadius) - 1px);
- border-bottom-left-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px);
- border-bottom-right-radius: calc(var(--__roundnessBottom, --panelRadius) - 1px);
- background-color: var(--profileBg);
- z-index: -2;
- &.hide-bio {
- mask-size: 100% 40px;
- }
- }
- &-bio {
- text-align: center;
- display: block;
- line-height: 1.3;
- padding: 1em;
- margin: 0;
- img {
- object-fit: contain;
- vertical-align: middle;
- max-width: 100%;
- max-height: 400px;
- }
- }
- &.-rounded-t {
- border-top-left-radius: var(--roundness);
- border-top-right-radius: var(--roundness);
- --__roundnessTop: var(--roundness);
- --__roundnessBottom: 0;
- }
- &.-rounded {
- border-radius: var(--roundness);
- --__roundnessTop: var(--roundness);
- --__roundnessBottom: var(--roundness);
- }
- &.-popover {
- border-radius: var(--roundness);
- --__roundnessTop: var(--roundness);
- --__roundnessBottom: var(--roundness);
- }
- &.-bordered {
- border-width: 1px;
- border-style: solid;
- border-color: var(--border);
- }
- }
- .user-info {
- padding: 0 26px;
- .container {
- min-width: 0;
- padding: 16px 0 6px;
- display: flex;
- align-items: flex-start;
- max-height: 56px;
- > * {
- min-width: 0;
- }
- > a {
- vertical-align: middle;
- display: flex;
- }
- .Avatar {
- --_avatarShadowBox: var(--avatarShadow);
- --_avatarShadowFilter: var(--avatarShadowFilter);
- --_avatarShadowInset: var(--avatarShadowInset);
- width: 56px;
- height: 56px;
- object-fit: cover;
- }
- }
- &-avatar {
- position: relative;
- cursor: pointer;
- &.-overlay {
- position: absolute;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- background-color: rgb(0 0 0 / 30%);
- display: flex;
- justify-content: center;
- align-items: center;
- border-radius: var(--roundness);
- opacity: 0;
- transition: opacity 0.2s ease;
- svg {
- color: #fff;
- }
- }
- &:hover &.-overlay {
- opacity: 1;
- }
- }
- .external-link-button,
- .edit-profile-button {
- cursor: pointer;
- width: 2.5em;
- text-align: center;
- margin: -0.5em 0;
- padding: 0.5em 0;
- &:not(:hover) .icon {
- color: var(--lightText);
- }
- }
- .bottom-line {
- font-weight: light;
- font-size: 1.1em;
- align-items: baseline;
- .lock-icon {
- margin-left: 0.5em;
- }
- .user-screen-name {
- color: var(--text);
- min-width: 1px;
- flex: 0 1 auto;
- text-overflow: ellipsis;
- overflow: hidden;
- }
- .dailyAvg {
- min-width: 1px;
- flex: 0 0 auto;
- margin-left: 1em;
- font-size: 0.7em;
- color: var(--text);
- }
- .user-role {
- flex: none;
- }
- }
- .user-summary {
- display: block;
- margin-left: 0.6em;
- text-align: left;
- text-overflow: ellipsis;
- white-space: nowrap;
- flex: 1 1 0;
- // This is so that text doesn't get overlapped by avatar's shadow if it has
- // big one
- z-index: 1;
- line-height: 2em;
- --emoji-size: 1.7em;
- .RichContent {
- /* stylelint-disable-next-line declaration-no-important */
- --link: var(--text) !important;
- }
- .top-line,
- .bottom-line {
- display: flex;
- }
- }
- .user-name {
- text-overflow: ellipsis;
- overflow: hidden;
- flex: 1 1 auto;
- margin-right: 1em;
- font-size: 1.1em;
- }
- .user-meta {
- margin-bottom: 0.15em;
- display: flex;
- align-items: baseline;
- line-height: 22px;
- flex-wrap: wrap;
- .following {
- flex: 1 0 auto;
- margin: 0;
- margin-bottom: 0.25em;
- text-align: left;
- }
- .highlighter {
- flex: 0 1 auto;
- display: flex;
- flex-wrap: wrap;
- margin-right: -0.5em;
- align-self: start;
- .userHighlightCl {
- padding: 2px 10px;
- flex: 1 0 auto;
- }
- .userHighlightSel {
- padding-top: 0;
- padding-bottom: 0;
- flex: 1 0 auto;
- }
- .userHighlightText {
- width: 70px;
- flex: 1 0 auto;
- }
- .userHighlightCl,
- .userHighlightText,
- .userHighlightSel {
- vertical-align: top;
- margin-right: 0.5em;
- margin-bottom: 0.25em;
- }
- }
- }
- .user-interactions {
- position: relative;
- display: flex;
- flex-flow: row wrap;
- margin-right: -0.75em;
- > * {
- margin: 0 0.75em 0.6em 0;
- white-space: nowrap;
- min-width: 95px;
- }
- button {
- margin: 0;
- }
- }
- .user-note {
- margin: 0 0.75em 0.6em 0;
- }
- }
- .sidebar .edit-profile-button {
- display: none;
- }
- .user-counts {
- display: flex;
- line-height: 16px;
- padding: 0.5em 1.5em 0;
- text-align: center;
- justify-content: space-between;
- flex-wrap: wrap;
- }
- .user-count {
- flex: 1 0 auto;
- padding: 0.5em 0;
- margin: 0 0.5em;
- h5 {
- font-size: 1em;
- font-weight: bolder;
- margin: 0 0 0.25em;
- }
- /* stylelint-disable-next-line no-descending-specificity */
- a {
- text-decoration: none;
- }
- }
- .mute-expiry {
- display: flex;
- flex-direction: row;
- }