lbry-desktop/ui/scss/component/_media.scss

139 lines
2.6 KiB
SCSS

// M E D I A
// T H U M B
.media__thumb {
@include thumbnail;
position: relative;
border-radius: var(--card-radius);
object-fit: cover;
background-color: var(--color-placeholder-background);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
// M E D I A
// T I T L E
.media__uri {
position: absolute;
transform: translateY(-130%);
display: flex;
font-size: var(--font-xsmall);
color: var(--color-text-subtitle);
font-weight: var(--font-weight-base);
@media (max-width: $breakpoint-small) {
position: static;
transform: none;
margin-bottom: var(--spacing-xs);
max-width: 100%;
white-space: nowrap;
}
}
// M E D I A
// S U B T I T L E
.media__subtitle {
align-self: flex-start;
color: var(--color-text-subtitle);
font-size: var(--font-small);
.channel-thumbnail {
display: inline-block;
@include handleChannelGif(1rem);
margin-right: var(--spacing-xs);
}
}
.media__subtitle--centered {
@extend .media__subtitle;
align-items: center;
display: flex;
}
.media__subtitle--between {
@extend .media__subtitle;
display: flex;
flex-direction: column;
@media (min-width: $breakpoint-small) {
justify-content: space-between;
align-items: flex-end;
flex-direction: row;
}
}
.media__info-text {
word-break: break-word;
&:not(:last-of-type) {
margin-bottom: var(--spacing-m);
}
&.media__info-text--constrained {
max-width: 50rem;
}
}
.media__info-text--contracted {
margin-top: var(--spacing-m);
max-height: 3rem;
overflow: hidden;
}
.media__info-text--expanded {
margin-top: var(--spacing-m);
max-height: auto;
}
.media__info-text--contracted,
.media__info-text--expanded {
max-width: 50rem;
}
.media__info-text--fade {
-webkit-mask-image: -webkit-gradient(linear, left 30%, left bottom, from(rgba(0, 0, 0, 1)), to(rgba(0, 0, 0, 0)));
}
.media__info-expand {
margin-top: var(--spacing-s);
}
.media__info-text-preview {
@extend .media__info-text;
max-height: 5rem;
overflow: auto;
padding: var(--spacing-xxs) 0; // for scrollbar to auto-hide
}
.media__actions {
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-top: 0;
> *:not(:last-child) {
margin-right: var(--spacing-m);
}
@media (max-width: $breakpoint-small) {
justify-content: flex-start;
padding-top: var(--spacing-s);
> * {
margin-right: var(--spacing-s);
margin-bottom: var(--spacing-s);
}
}
}
.media__details {
@extend .help;
font-size: var(--font-xxsmall);
display: flex;
flex-direction: column;
}