diff --git a/frontend/src/components/ui/FinishedDownloads.tsx b/frontend/src/components/ui/FinishedDownloads.tsx index 25fe289..0378540 100644 --- a/frontend/src/components/ui/FinishedDownloads.tsx +++ b/frontend/src/components/ui/FinishedDownloads.tsx @@ -325,9 +325,6 @@ export default function FinishedDownloads({ const [teaserKey, setTeaserKey] = React.useState(null) const [hoverTeaserKey, setHoverTeaserKey] = React.useState(null) - const [listPreviewActivationNonce, setListPreviewActivationNonce] = React.useState(0) - const lastListPreviewKeyRef = React.useRef(null) - const teaserIORef = React.useRef(null) const elToKeyRef = React.useRef>(new WeakMap()) @@ -1922,24 +1919,6 @@ export default function FinishedDownloads({ if (page > totalPages) onPageChange(totalPages) }, [globalFilterActive, visibleRows.length, page, pageSize, onPageChange]) - useEffect(() => { - if (view !== 'table' && view !== 'gallery') { - lastListPreviewKeyRef.current = null - return - } - - const nextKey = teaserState.activeKey ?? teaserState.hoverKey ?? null - if (!nextKey) { - lastListPreviewKeyRef.current = null - return - } - - if (lastListPreviewKeyRef.current === nextKey) return - - lastListPreviewKeyRef.current = nextKey - setListPreviewActivationNonce((n) => n + 1) - }, [view, teaserState.activeKey, teaserState.hoverKey]) - // 🖱️ Desktop: Teaser nur bei Hover (Settings: 'hover' = Standard). Mobile: weiterhin Viewport-Fokus (Effect darunter) useEffect(() => { const active = @@ -2554,7 +2533,6 @@ export default function FinishedDownloads({ keepVideo={keepVideo} postworkByFile={postworkByFile} forcePreviewMuted={forcePreviewMuted} - previewActivationNonce={listPreviewActivationNonce} /> )} @@ -2595,7 +2573,6 @@ export default function FinishedDownloads({ onHoverPreviewKeyChange={setHoverTeaserKey} postworkByFile={postworkByFile} forcePreviewMuted={forcePreviewMuted} - previewActivationNonce={listPreviewActivationNonce} /> )} diff --git a/frontend/src/components/ui/FinishedDownloadsCardsView.tsx b/frontend/src/components/ui/FinishedDownloadsCardsView.tsx index 7fd9c48..fdb2d7c 100644 --- a/frontend/src/components/ui/FinishedDownloadsCardsView.tsx +++ b/frontend/src/components/ui/FinishedDownloadsCardsView.tsx @@ -722,7 +722,6 @@ export default function FinishedDownloadsCardsView({ ) => { const k = keyFor(j) - const isMobileTopCard = Boolean(isSmall && opts?.mobileStackTopOnlyVideo) const realInlineActive = inlinePlay?.key === k const inlineActive = opts?.disableInline ? false : realInlineActive diff --git a/frontend/src/components/ui/FinishedDownloadsGalleryView.tsx b/frontend/src/components/ui/FinishedDownloadsGalleryView.tsx index 861a8e4..b943f2d 100644 --- a/frontend/src/components/ui/FinishedDownloadsGalleryView.tsx +++ b/frontend/src/components/ui/FinishedDownloadsGalleryView.tsx @@ -95,7 +95,6 @@ type Props = { onAddToDownloads?: (job: RecordJob) => void | Promise forcePreviewMuted?: boolean - previewActivationNonce: number } function firstNonEmptyString(...values: unknown[]): string | undefined { @@ -202,7 +201,6 @@ export default function FinishedDownloadsGalleryView({ onSplit, onAddToDownloads, forcePreviewMuted, - previewActivationNonce, }: Props) { // ✅ Teaser-Observer nur aktiv, wenn Preview überhaupt "laufen" soll const observeTeasers = shouldObserveTeasers(teaserState.mode) @@ -545,7 +543,6 @@ export default function FinishedDownloadsGalleryView({ scrubProgressRatio={scrubProgressRatio} preferScrubProgress={typeof activeScrubIndex === 'number'} forceActive={isPreviewActive} - activationNonce={isPreviewActive ? previewActivationNonce : 0} teaserPreloadEnabled /> diff --git a/frontend/src/components/ui/FinishedDownloadsTableView.tsx b/frontend/src/components/ui/FinishedDownloadsTableView.tsx index eec7ff9..040a20b 100644 --- a/frontend/src/components/ui/FinishedDownloadsTableView.tsx +++ b/frontend/src/components/ui/FinishedDownloadsTableView.tsx @@ -93,7 +93,6 @@ type Props = { deleteVideo: (job: RecordJob) => Promise keepVideo: (job: RecordJob) => Promise forcePreviewMuted?: boolean - previewActivationNonce: number } export default function FinishedDownloadsTableView({ @@ -143,7 +142,6 @@ export default function FinishedDownloadsTableView({ deleteVideo, keepVideo, forcePreviewMuted, - previewActivationNonce, }: Props) { const [sort, setSort] = React.useState(null) @@ -296,7 +294,6 @@ export default function FinishedDownloadsTableView({ animatedTrigger="always" assetNonce={assetNonce} forceActive={isPreviewActive} - activationNonce={isPreviewActive ? previewActivationNonce : 0} teaserPreloadEnabled /> @@ -553,7 +550,6 @@ export default function FinishedDownloadsTableView({ parseTags, runtimeSecondsForSort, forcePreviewMuted, - previewActivationNonce, ]) const sortStateToMode = React.useCallback((s: SortState): SortMode => { diff --git a/frontend/src/components/ui/FinishedVideoPreview.tsx b/frontend/src/components/ui/FinishedVideoPreview.tsx index c56a5d7..00edaff 100644 --- a/frontend/src/components/ui/FinishedVideoPreview.tsx +++ b/frontend/src/components/ui/FinishedVideoPreview.tsx @@ -389,7 +389,6 @@ export default function FinishedVideoPreview({ const inlineRef = useRef(null) const teaserMp4Ref = useRef(null) - const lastTeaserRefStateRef = useRef<'attached' | 'detached' | null>(null) const clipsRef = useRef(null) const playTeaserFromGesture = useCallback(() => {