From 4aa47ffbef62d86a16e900eb013c2f8314e7d0eb Mon Sep 17 00:00:00 2001 From: Pas <74743263+Pasithea0@users.noreply.github.com> Date: Thu, 5 Jun 2025 12:10:30 -0600 Subject: [PATCH] remove some unneeded changes --- src/components/player/atoms/SpeedChangedPopout.tsx | 8 ++++++-- src/components/player/base/SubtitleView.tsx | 5 ++--- src/components/player/internals/KeyboardEvents.tsx | 8 ++++---- src/components/player/utils/captions.ts | 5 ----- src/stores/interface/overlayStack.ts | 4 ++-- 5 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/components/player/atoms/SpeedChangedPopout.tsx b/src/components/player/atoms/SpeedChangedPopout.tsx index feb29dc0..98194bd2 100644 --- a/src/components/player/atoms/SpeedChangedPopout.tsx +++ b/src/components/player/atoms/SpeedChangedPopout.tsx @@ -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() {
{isSpeedBoosted - ? "Boosted to 2x speed" - : `Speed: ${playbackRate}x`} + ? t("player.menus.playback.speedBoosted") + : t("player.menus.playback.speedUnboosted", { + speed: playbackRate, + })}
diff --git a/src/components/player/base/SubtitleView.tsx b/src/components/player/base/SubtitleView.tsx index e4eb562a..496b230c 100644 --- a/src/components/player/base/SubtitleView.tsx +++ b/src/components/player/base/SubtitleView.tsx @@ -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 ( diff --git a/src/components/player/internals/KeyboardEvents.tsx b/src/components/player/internals/KeyboardEvents.tsx index 81172f45..2616edeb 100644 --- a/src/components/player/internals/KeyboardEvents.tsx +++ b/src/components/player/internals/KeyboardEvents.tsx @@ -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 | undefined>(); const subtitleDebounce = useRef | undefined>(); + + // Speed boost + const setSpeedBoosted = usePlayerStore((s) => s.setSpeedBoosted); + const setShowSpeedIndicator = usePlayerStore((s) => s.setShowSpeedIndicator); const speedIndicatorTimeoutRef = useRef< ReturnType | undefined >(); const boostTimeoutRef = useRef | undefined>(); const isPendingBoostRef = useRef(false); - - // Tracking previous playback rate when space is held down const previousRateRef = useRef(1); const isSpaceHeldRef = useRef(false); diff --git a/src/components/player/utils/captions.ts b/src/components/player/utils/captions.ts index 5f133bd4..d144340e 100644 --- a/src/components/player/utils/captions.ts +++ b/src/components/player/utils/captions.ts @@ -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 diff --git a/src/stores/interface/overlayStack.ts b/src/stores/interface/overlayStack.ts index 2e615ce8..358eb9f8 100644 --- a/src/stores/interface/overlayStack.ts +++ b/src/stores/interface/overlayStack.ts @@ -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((set) => ({ +export const useOverlayStack = create((set) => ({ currentOverlay: null, setCurrentOverlay: (overlay) => set({ currentOverlay: overlay }), }));