+
+ {
+ metaItem !== null ?
+
+ :
+ null
+ }
+
+ {
+ videos !== null && seriesInfo ?
+ <>
+
+
+ {videos.map((video, index) => (
+
+ ))}
+
+ >
+ : null
+ }
+
+
+ >
+ );
+};
+
+export default SideDrawer;
diff --git a/src/routes/Player/styles.less b/src/routes/Player/styles.less
index 8bff42fe1..9f48bbc91 100644
--- a/src/routes/Player/styles.less
+++ b/src/routes/Player/styles.less
@@ -1,6 +1,7 @@
// Copyright (C) 2017-2023 Smart code 203358507
@import (reference) '~@stremio/stremio-colors/less/stremio-colors.less';
+@import (reference) '~stremio/common/screen-sizes.less';
:import('~stremio/common/Slider/styles.less') {
active-slider-within: active-slider-within;
@@ -112,5 +113,85 @@ html:not(.active-slider-within) {
backdrop-filter: blur(15px);
overflow: auto;
}
+
+ &.side-drawer-button {
+ right: -4rem;
+ top: 50%;
+ left: initial;
+ bottom: initial;
+ height: 12.5rem;
+ width: 7.5rem;
+ transform: translateY(-50%);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background-color: var(--modal-background-color);
+ cursor: pointer;
+ border-top-left-radius: 50%;
+ border-bottom-left-radius: 50%;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
+
+ .icon {
+ width: 2.5rem;
+ height: 2.5rem;
+ color: var(--primary-foreground-color);
+ opacity: 0.6;
+ margin-right: 4rem;
+ transition: all 0.3s ease-in-out;
+
+ }
+
+ &.open {
+ display: none;
+ }
+
+ &:hover {
+ .icon {
+ opacity: 1;
+ }
+ }
+ }
+
+ &.side-drawer-layer {
+ top: 0;
+ right: 0;
+ left: initial;
+ bottom: initial;
+ max-width: 30%;
+ height: 100vh;
+ 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);
+ overflow: visible;
+ padding: 1rem;
+ z-index: 1;
+ transition: transform 0.3s ease-in-out;
+ transform: translateX(100%);
+
+ &.open {
+ transform: translateX(0);
+ }
+
+ @media screen and (max-width: @small) {
+ max-width: 40%;
+ }
+
+ @media screen and (max-width: @xsmall) {
+ max-width: 50%;
+ }
+
+ @media screen and (max-width: @xxsmall) {
+ max-width: 60%;
+ }
+
+ @media screen and (max-width: @minimum) {
+ max-width: 70%;
+ }
+ }
}
}
\ No newline at end of file
diff --git a/src/types/MetaItem.d.ts b/src/types/MetaItem.d.ts
index 0d692a580..56e7db3c7 100644
--- a/src/types/MetaItem.d.ts
+++ b/src/types/MetaItem.d.ts
@@ -15,7 +15,7 @@ type MetaItemPreview = {
posterShape: PosterShape,
releaseInfo: string | null,
runtime: string | null,
- released: string | null,
+ released: Date | null | undefined,
trailerStreams: TrailerStream[],
links: Link[],
behaviorHints: BehaviorHints,
diff --git a/src/types/Video.d.ts b/src/types/Video.d.ts
index 92bc704f5..7ed3d0fac 100644
--- a/src/types/Video.d.ts
+++ b/src/types/Video.d.ts
@@ -14,4 +14,9 @@ type Video = {
episode?: number,
streams: Stream[],
trailerStreams: TrailerStream[],
+ watched: boolean,
+ progress: number,
+ upcoming: boolean,
+ deepLinks: VideoDeepLinks,
+ scheduled: boolean,
};