remove some unneeded changes

This commit is contained in:
Pas 2025-06-05 12:10:30 -06:00
parent f665bbb473
commit 4aa47ffbef
5 changed files with 14 additions and 16 deletions

View file

@ -1,3 +1,5 @@
import { t } from "i18next";
import { Icon, Icons } from "@/components/Icon";
import { Flare } from "@/components/utils/Flare";
import { Transition } from "@/components/utils/Transition";
@ -31,8 +33,10 @@ export function SpeedChangedPopout() {
<div className="w-full flex items-center justify-between">
<span className="text-sm">
{isSpeedBoosted
? "Boosted to 2x speed"
: `Speed: ${playbackRate}x`}
? t("player.menus.playback.speedBoosted")
: t("player.menus.playback.speedUnboosted", {
speed: playbackRate,
})}
</span>
</div>
</Flare.Child>

View file

@ -116,7 +116,6 @@ export function SubtitleRenderer() {
const styling = useSubtitleStore((s) => s.styling);
const overrideCasing = useSubtitleStore((s) => s.overrideCasing);
const delay = useSubtitleStore((s) => s.delay);
const playbackRate = usePlayerStore((s) => s.mediaPlaying.playbackRate);
const parsedCaptions = useMemo(
() => (srtData ? parseSubtitles(srtData, language) : []),
@ -126,9 +125,9 @@ export function SubtitleRenderer() {
const visibileCaptions = useMemo(
() =>
parsedCaptions.filter(({ start, end }) =>
captionIsVisible(start, end, delay, videoTime, playbackRate),
captionIsVisible(start, end, delay, videoTime),
),
[parsedCaptions, videoTime, delay, playbackRate],
[parsedCaptions, videoTime, delay],
);
return (

View file

@ -16,8 +16,6 @@ export function KeyboardEvents() {
const mediaPlaying = usePlayerStore((s) => s.mediaPlaying);
const time = usePlayerStore((s) => s.progress.time);
const { setVolume, toggleMute } = useVolume();
const setSpeedBoosted = usePlayerStore((s) => s.setSpeedBoosted);
const setShowSpeedIndicator = usePlayerStore((s) => s.setShowSpeedIndicator);
const { toggleLastUsed } = useCaptions();
const setShowVolume = useEmpheralVolumeStore((s) => s.setShowVolume);
@ -30,13 +28,15 @@ export function KeyboardEvents() {
const [isRolling, setIsRolling] = useState(false);
const volumeDebounce = useRef<ReturnType<typeof setTimeout> | undefined>();
const subtitleDebounce = useRef<ReturnType<typeof setTimeout> | undefined>();
// Speed boost
const setSpeedBoosted = usePlayerStore((s) => s.setSpeedBoosted);
const setShowSpeedIndicator = usePlayerStore((s) => s.setShowSpeedIndicator);
const speedIndicatorTimeoutRef = useRef<
ReturnType<typeof setTimeout> | undefined
>();
const boostTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>();
const isPendingBoostRef = useRef<boolean>(false);
// Tracking previous playback rate when space is held down
const previousRateRef = useRef<number>(1);
const isSpaceHeldRef = useRef<boolean>(false);

View file

@ -13,14 +13,9 @@ export function captionIsVisible(
end: number,
delay: number,
currentTime: number,
playbackRate: number = 1,
) {
// Calculate subtitle timing with delay adjustment
// When playback is sped up, we need to adjust the subtitle windows accordingly
// so they appear at the right time but also remain visible for the right duration
const delayedStart = start / 1000 + delay;
const delayedEnd = end / 1000 + delay;
return (
Math.max(0, delayedStart) <= currentTime &&
Math.max(0, delayedEnd) >= currentTime

View file

@ -2,12 +2,12 @@ import { create } from "zustand";
type OverlayType = "volume" | "subtitle" | "speed" | null;
export interface OverlayStackState {
interface OverlayStackStore {
currentOverlay: OverlayType;
setCurrentOverlay: (overlay: OverlayType) => void;
}
export const useOverlayStack = create<OverlayStackState>((set) => ({
export const useOverlayStack = create<OverlayStackStore>((set) => ({
currentOverlay: null,
setCurrentOverlay: (overlay) => set({ currentOverlay: overlay }),
}));