mirror of
https://github.com/sussy-code/smov.git
synced 2024-12-21 14:47:41 +01:00
change sub render positioning to absolute
This commit is contained in:
parent
20addc039c
commit
9fe7bdcf47
2 changed files with 19 additions and 15 deletions
|
@ -17,7 +17,6 @@ export function Caption({ text }: { text?: string }) {
|
||||||
}),
|
}),
|
||||||
}}
|
}}
|
||||||
style={{
|
style={{
|
||||||
whiteSpace: "pre-wrap",
|
|
||||||
...captionSettings.style,
|
...captionSettings.style,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { Transition } from "@/components/Transition";
|
||||||
import { useSettings } from "@/state/settings";
|
import { useSettings } from "@/state/settings";
|
||||||
import { parse, Cue } from "node-webvtt";
|
import { parse, Cue } from "node-webvtt";
|
||||||
import { useRef } from "react";
|
import { useRef } from "react";
|
||||||
|
@ -29,7 +30,7 @@ export function CaptionRenderer({
|
||||||
} else {
|
} else {
|
||||||
captions.current = [];
|
captions.current = [];
|
||||||
}
|
}
|
||||||
}, [source]);
|
}, [source?.caption?.url]);
|
||||||
|
|
||||||
if (!captions.current.length) return null;
|
if (!captions.current.length) return null;
|
||||||
const isVisible = (start: number, end: number): boolean => {
|
const isVisible = (start: number, end: number): boolean => {
|
||||||
|
@ -41,18 +42,22 @@ export function CaptionRenderer({
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<span className="flex h-full flex-col items-center justify-end">
|
<Transition
|
||||||
|
className={[
|
||||||
|
"absolute flex w-full flex-col items-center transition-[bottom]",
|
||||||
|
isControlsShown ? "bottom-24" : "bottom-12",
|
||||||
|
].join(" ")}
|
||||||
|
animation="slide-up"
|
||||||
|
show
|
||||||
|
>
|
||||||
|
<span>
|
||||||
{captions.current.map(
|
{captions.current.map(
|
||||||
({ identifier, end, start, text }) =>
|
({ identifier, end, start, text }) =>
|
||||||
isVisible(start, end) && (
|
isVisible(start, end) && (
|
||||||
<Caption key={identifier || `${start}-${end}`} text={text} />
|
<Caption key={identifier || `${start}-${end}`} text={text} />
|
||||||
)
|
)
|
||||||
)}
|
)}
|
||||||
{isControlsShown ? (
|
|
||||||
<div className="h-[100px]" />
|
|
||||||
) : (
|
|
||||||
<div className="h-[50px]" />
|
|
||||||
)}
|
|
||||||
</span>
|
</span>
|
||||||
|
</Transition>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue