mirror of
https://github.com/movie-web/movie-web.git
synced 2024-11-11 02:45:09 +01:00
Merge branch 'dev' into movie-time
This commit is contained in:
commit
2650707d2c
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "movie-web",
|
"name": "movie-web",
|
||||||
"version": "3.0.9",
|
"version": "3.0.10",
|
||||||
"private": true,
|
"private": true,
|
||||||
"homepage": "https://movie.squeezebox.dev",
|
"homepage": "https://movie.squeezebox.dev",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -22,6 +22,7 @@ registerProvider({
|
|||||||
displayName: "NetFilm",
|
displayName: "NetFilm",
|
||||||
rank: 15,
|
rank: 15,
|
||||||
type: [MWMediaType.MOVIE, MWMediaType.SERIES],
|
type: [MWMediaType.MOVIE, MWMediaType.SERIES],
|
||||||
|
disabled: true, // The creator has asked us (very nicely) to leave him alone. Until (if) we self-host, netfilm should remain disabled
|
||||||
|
|
||||||
async scrape({ media, episode, progress }) {
|
async scrape({ media, episode, progress }) {
|
||||||
if (!this.type.includes(media.meta.type)) {
|
if (!this.type.includes(media.meta.type)) {
|
||||||
|
@ -229,9 +229,7 @@ registerProvider({
|
|||||||
(subtitle: any): MWCaption | null => {
|
(subtitle: any): MWCaption | null => {
|
||||||
const sub = subtitle;
|
const sub = subtitle;
|
||||||
sub.subtitles = subtitle.subtitles.filter((subFile: any) => {
|
sub.subtitles = subtitle.subtitles.filter((subFile: any) => {
|
||||||
const extension = subFile.file_path.substring(
|
const extension = subFile.file_path.slice(-3);
|
||||||
sub.file_path.length - 3
|
|
||||||
);
|
|
||||||
return [MWCaptionType.SRT, MWCaptionType.VTT].includes(extension);
|
return [MWCaptionType.SRT, MWCaptionType.VTT].includes(extension);
|
||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
|
@ -29,6 +29,7 @@ export function FloatingView(props: Props) {
|
|||||||
data-floating-page={props.show ? "true" : undefined}
|
data-floating-page={props.show ? "true" : undefined}
|
||||||
style={{
|
style={{
|
||||||
height: props.height ? `${props.height}px` : undefined,
|
height: props.height ? `${props.height}px` : undefined,
|
||||||
|
maxHeight: "70vh",
|
||||||
width: props.width ? width : undefined,
|
width: props.width ? width : undefined,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
@ -21,8 +21,20 @@ export function FloatingCardMobilePosition(props: MobilePositionProps) {
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
const bind = useDrag(
|
const bind = useDrag(
|
||||||
({ last, velocity: [, vy], direction: [, dy], movement: [, my] }) => {
|
({
|
||||||
|
last,
|
||||||
|
velocity: [, vy],
|
||||||
|
direction: [, dy],
|
||||||
|
movement: [, my],
|
||||||
|
...event
|
||||||
|
}) => {
|
||||||
if (closing.current) return;
|
if (closing.current) return;
|
||||||
|
|
||||||
|
const isInScrollable = (event.target as HTMLDivElement).closest(
|
||||||
|
".overflow-y-auto"
|
||||||
|
);
|
||||||
|
if (isInScrollable) return; // Don't attempt to swipe the thing away if it's a scroll area unless the scroll area is at the top and the user is swiping down
|
||||||
|
|
||||||
const height = cardRect?.height ?? 0;
|
const height = cardRect?.height ?? 0;
|
||||||
if (last) {
|
if (last) {
|
||||||
// if past half height downwards
|
// if past half height downwards
|
||||||
@ -69,7 +81,7 @@ export function FloatingCardMobilePosition(props: MobilePositionProps) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className="absolute inset-x-0 mx-auto max-w-[400px] origin-bottom-left touch-none"
|
className="is-mobile-view absolute inset-x-0 mx-auto max-w-[400px] origin-bottom-left touch-none"
|
||||||
style={{
|
style={{
|
||||||
transform: `translateY(${
|
transform: `translateY(${
|
||||||
window.innerHeight - (cardRect?.height ?? 0) + 200
|
window.innerHeight - (cardRect?.height ?? 0) + 200
|
||||||
|
@ -38,6 +38,7 @@ body[data-no-select] {
|
|||||||
from {
|
from {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
to {
|
to {
|
||||||
transform: rotate(360deg);
|
transform: rotate(360deg);
|
||||||
}
|
}
|
||||||
@ -55,6 +56,10 @@ body[data-no-select] {
|
|||||||
@apply brightness-[500];
|
@apply brightness-[500];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.is-mobile-view .overflow-y-auto {
|
||||||
|
height: 60vh;
|
||||||
|
}
|
||||||
|
|
||||||
/*generated with Input range slider CSS style generator (version 20211225)
|
/*generated with Input range slider CSS style generator (version 20211225)
|
||||||
https://toughengineer.github.io/demo/slider-styler*/
|
https://toughengineer.github.io/demo/slider-styler*/
|
||||||
:root {
|
:root {
|
||||||
@ -62,6 +67,7 @@ https://toughengineer.github.io/demo/slider-styler*/
|
|||||||
--slider-border-radius: 1em;
|
--slider-border-radius: 1em;
|
||||||
--slider-progress-background: #8652bb;
|
--slider-progress-background: #8652bb;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=range].styled-slider {
|
input[type=range].styled-slider {
|
||||||
height: var(--slider-height);
|
height: var(--slider-height);
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
|
Loading…
Reference in New Issue
Block a user