lbry-desktop/ui/scss/component/_content.scss
2022-03-16 16:36:50 -04:00

389 lines
7.4 KiB
SCSS

.content__viewer {
@extend .card;
position: absolute;
top: var(--spacing-s);
border-radius: var(--border-radius);
@media (max-width: $breakpoint-small) {
// margin-top: calc(var(--header-height) - var(--header-height-mobile));
}
}
.content__viewer--mobile {
border-radius: 0;
position: fixed;
top: var(--header-height-mobile);
}
.content__viewer--disable-click {
pointer-events: none;
}
.content__viewer--inline {
max-height: var(--inline-player-max-height);
border: none;
@media (max-width: $breakpoint-small) {
max-height: var(--mobile-player-max-height);
}
}
.content__viewer--secondary {
.vjs-button--theater-mode {
display: none;
}
}
.content__viewer--floating {
position: fixed;
margin-bottom: 0;
height: calc(var(--floating-viewer-height) + var(--floating-viewer-info-height));
overflow: hidden;
top: 0;
z-index: 9999;
border: 2px solid black;
// file-viewer__overlay-secondary autoplay-countdown__counter
.file-render--video {
border-radius: unset;
}
&:hover {
.video-js--tap-to-unmute {
max-width: calc(var(--floating-viewer-width) - (var(--spacing-xs) * 3) - 42px);
}
.content__floating-close {
visibility: visible;
z-index: 9999;
}
}
@media (max-width: $breakpoint-small) {
height: 50px;
width: 80px;
top: 3px;
left: calc(50% - 40px);
transform: unset !important;
border: unset;
.content__wrapper--floating {
width: 100%;
height: 100%;
.content__floating-close {
visibility: visible !important;
display: inline;
position: fixed;
top: 12px;
left: calc(50% + 80px - 32px);
height: 32px;
width: 32px;
background-color: rgba(var(--color-primary-static), 0.6) !important;
border-radius: 50%;
.button__content {
justify-content: center;
.icon {
flex-shrink: 0;
// width:20px;
}
}
}
.autoplay-countdown {
display: none;
}
}
.vjs-control-bar {
display: inline-block !important;
opacity: 1 !important;
&::before {
background: unset !important;
}
}
.vjs-control {
display: none;
}
.vjs-play-control {
transform: unset !important;
display: inline !important;
position: fixed !important;
top: 12px !important;
left: calc(50% - 80px) !important;
height: 32px !important;
width: 32px !important;
background-color: rgba(var(--color-primary-static), 0.6) !important;
border-radius: 50% !important;
opacity: 1 !important;
pointer-events: unset !important;
span {
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: 100;
&::before {
line-height: 32px !important;
}
}
.vjs-control-text {
display: none !important;
}
}
.vjs-play-control.vjs-playing {
.vjs-icon-placeholder::before {
content: '' !important;
}
}
.vjs-play-control.vjs-paused {
.vjs-icon-placeholder::before {
content: '' !important;
}
}
.vjs-play-control.vjs-ended {
.vjs-icon-placeholder::before {
content: '' !important;
}
}
.vjs-progress-control {
top: 32px;
.vjs-slider {
margin: 0 !important;
div,
span {
height: 2px !important;
}
}
}
.content__info {
margin-top: -50px;
opacity: 0;
.button--uri-indicator {
display: none;
}
}
}
}
.content__viewer--theater-mode {
top: 0;
border-radius: 0;
border: none;
right: 0;
// Next line is fixing the player width
width: unset !important;
.file-render--video {
border-radius: 0;
}
}
.content__wrapper {
position: relative;
width: 100%;
height: 100%;
background-color: black;
border-radius: var(--border-radius);
}
.content__wrapper--floating {
height: var(--floating-viewer-height);
width: var(--floating-viewer-width);
.vjs-button--theater-mode {
display: none;
}
.video-js--tap-to-unmute {
max-width: calc(var(--floating-viewer-width) - (var(--spacing-xs) * 2));
.icon {
width: 24px;
height: 24px;
min-width: 24px;
}
}
.content__info {
.claim-preview__title {
.button {
width: 100%;
.button__label {
display: inline-block;
}
&:hover {
color: var(--color-primary);
}
}
}
}
}
.content__actions {
visibility: hidden;
display: flex;
.button {
@extend .button--close;
height: 1.5rem;
top: 0;
position: relative;
margin-left: var(--spacing-s);
svg {
color: var(--color-white);
}
}
}
.content__floating-close {
visibility: hidden;
position: absolute;
top: 8px;
right: 8px;
width: 42px;
height: 42px;
padding: 10px;
background-color: rgba(var(--color-primary-dynamic), 0.95) !important;
.icon {
width: 24px;
height: 24px;
}
&:hover {
background-color: rgba(var(--color-primary-dynamic), 1) !important;
}
}
.content__floating-link {
color: var(--color-text);
}
.content__floating-close {
z-index: 3; /*must be one higher than .file-viewer__overlay */
}
.content__info {
cursor: grab;
padding: var(--spacing-s);
display: flex;
flex-direction: column;
align-items: flex-start;
white-space: nowrap;
background-color: var(--color-header-background-transparent);
-webkit-backdrop-filter: blur(4px);
backdrop-filter: blur(4px);
}
.content__cover {
@include thumbnail;
position: relative;
display: flex;
align-items: center;
border-radius: var(--border-radius);
justify-content: center;
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: 100%;
max-height: var(--inline-player-max-height);
margin: auto;
&:not(.card__media--nsfw) {
background-color: #000; // solid black to blend nicely when the video starts (if it doesn't take the full width)
}
&:hover {
cursor: pointer;
}
&:-webkit-full-screen {
width: 100%;
height: 100%;
}
@media (max-width: $breakpoint-small) {
border-radius: 0;
border: none;
margin: 0;
max-height: var(--mobile-player-max-height);
}
}
.content__cover--text {
margin: 10rem 0;
}
.content__cover--theater-mode {
@extend .content__cover;
border-radius: 0;
}
.content__cover--none {
@include thumbnail;
cursor: default;
position: relative;
display: flex;
align-items: center;
justify-content: center;
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: 100%;
margin: auto;
&:-webkit-full-screen {
width: 100%;
height: 100%;
}
}
.content__cover--disabled {
pointer-events: none;
.nag {
/* boo fire Jeremy */
pointer-events: auto;
}
&:after {
content: '';
top: 0;
left: 0;
bottom: 0;
right: 0;
position: absolute;
}
}
.content__loading {
height: 100%;
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
padding: 0 var(--spacing-l);
background-color: #000;
&.content__loading--document {
background-color: var(--color-background);
padding: calc(var(--spacing-xl) * 5) 0;
.content__loading-text {
color: var(--color-text);
}
}
}
.content__loading-text {
color: var(--color-white);
}
.content__non-clickable {
pointer-events: none;
}