mirror of
https://github.com/sussy-code/smov.git
synced 2024-12-20 14:37:43 +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={{
|
||||
whiteSpace: "pre-wrap",
|
||||
...captionSettings.style,
|
||||
}}
|
||||
/>
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import { Transition } from "@/components/Transition";
|
||||
import { useSettings } from "@/state/settings";
|
||||
import { parse, Cue } from "node-webvtt";
|
||||
import { useRef } from "react";
|
||||
|
@ -29,7 +30,7 @@ export function CaptionRenderer({
|
|||
} else {
|
||||
captions.current = [];
|
||||
}
|
||||
}, [source]);
|
||||
}, [source?.caption?.url]);
|
||||
|
||||
if (!captions.current.length) return null;
|
||||
const isVisible = (start: number, end: number): boolean => {
|
||||
|
@ -41,18 +42,22 @@ export function CaptionRenderer({
|
|||
);
|
||||
};
|
||||
return (
|
||||
<span className="flex h-full flex-col items-center justify-end">
|
||||
{captions.current.map(
|
||||
({ identifier, end, start, text }) =>
|
||||
isVisible(start, end) && (
|
||||
<Caption key={identifier || `${start}-${end}`} text={text} />
|
||||
)
|
||||
)}
|
||||
{isControlsShown ? (
|
||||
<div className="h-[100px]" />
|
||||
) : (
|
||||
<div className="h-[50px]" />
|
||||
)}
|
||||
</span>
|
||||
<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(
|
||||
({ identifier, end, start, text }) =>
|
||||
isVisible(start, end) && (
|
||||
<Caption key={identifier || `${start}-${end}`} text={text} />
|
||||
)
|
||||
)}
|
||||
</span>
|
||||
</Transition>
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue