lbry-desktop/ui/scss/component/_content.scss
jm-morani 7a8a16cd9c
Fix viewer position and shape in mobile mode (#7677)
Co-authored-by: Jean-Michel Morani <probono+lbry@morani.org>
2022-08-26 15:36:48 -04:00

258 lines
4.6 KiB
SCSS

.content__viewer {
@extend .card;
position: absolute;
top: var(--spacing-s);
border-radius: var(--border-radius);
@media (max-width: $breakpoint-small) {
border-radius: 0;
}
}
.content__viewer--disable-click {
pointer-events: none;
}
.content__viewer--inline {
max-height: var(--inline-player-max-height);
border: none;
}
.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;
left: calc(var(--spacing-l) + var(--spacing-s));
z-index: 9999;
border: 2px solid black;
.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;
}
}
}
.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;
.icon {
width: 24px;
height: 24px;
}
}
.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;
}
}
.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: '';
background: rgba(255, 255, 255, 0.5);
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;
}