stremio-web/src/routes/Player/SideDrawer/SideDrawer.less

140 lines
3.4 KiB
Text

// Copyright (C) 2017-2024 Smart code 203358507
@import (reference) '~stremio/common/screen-sizes.less';
:import('~stremio/components/MetaPreview/styles.less') {
description-container: description-container;
action-buttons-container: action-buttons-container;
}
:import('~stremio/components/MultiselectMenu/Dropdown/Dropdown.less') {
dropdown: dropdown;
open: open;
}
@padding: 1rem;
.side-drawer {
display: flex;
flex-direction: column;
padding: @padding;
padding-top: calc(@padding + var(--safe-area-inset-top));
height: 100dvh;
max-width: 35rem;
overflow-y: auto;
position: relative;
border-top-left-radius: var(--border-radius);
border-bottom-left-radius: var(--border-radius);
background-color: var(--modal-background-color);
box-shadow: 0 1.35rem 2.7rem var(--color-background-dark5-40), 0 1.1rem 0.85rem var(--color-background-dark5-20);
backdrop-filter: blur(15px);
transition: transform 0.3s ease-in-out;
z-index: 1;
// Safari has a compositing bug where transform animations on a parent with
// scrollable children causes the video player element to shift left during the animation.
// Disable the slide animation on Safari until WebKit resolves this.
@supports (hanging-punctuation: first) and (-webkit-appearance: none) {
&:global(.slide-left-enter),
&:global(.slide-left-active),
&:global(.slide-left-exit) {
transition: none;
}
}
.close-button {
display: none;
position: absolute;
top: calc(1.3rem + var(--safe-area-inset-top));
right: 1.3rem;
padding: 0.5rem;
background-color: transparent;
cursor: pointer;
z-index: 2;
border-radius: var(--border-radius);
transition: 0.3s all ease-in-out;
-webkit-tap-highlight-color: transparent;
.icon {
color: var(--primary-foreground-color);
width: 2rem;
height: 2rem;
opacity: 0.6;
transition: 0.3s opacity ease-in-out;
}
&:hover {
background-color: var(--overlay-color);
.icon {
opacity: 1;
}
}
}
.info {
padding: @padding;
min-height: 0;
overflow-y: auto;
.side-drawer-meta-preview {
.description-container {
display: -webkit-box;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
}
.action-buttons-container {
padding-top: 0;
margin-top: 0;
}
}
}
.series-content {
flex: 2;
display: flex;
flex-direction: column;
min-height: 0;
.videos {
flex: 1;
min-height: 0;
overflow-y: auto;
}
}
}
@media @phone-portrait {
.side-drawer {
max-width: 100dvw;
.close-button {
display: block;
}
}
}
@media @phone-landscape {
.side-drawer {
max-width: 50dvw;
.info {
max-height: 40dvh;
}
.dropdown.open {
max-height: calc(3rem * 4);
}
}
}
@media screen and (max-width: @xxsmall) {
.side-drawer {
padding: calc(@padding / 2);
.info {
padding: calc(@padding / 2);
}
}
}