feat: stream list view and tasks (#279)
* first attempt at stream sidebar, tasks, and events * fix folder from root * cleanup folders and events, and condense changes * cleanup and add toggle for sidebar * cleanup * fix nits
This commit was merged in pull request #279.
This commit is contained in:
@@ -1,4 +1,10 @@
|
||||
import { useEffect, useRef, useState, type RefObject } from 'react';
|
||||
import {
|
||||
useCallback,
|
||||
useEffect,
|
||||
useRef,
|
||||
useState,
|
||||
type RefObject,
|
||||
} from 'react';
|
||||
import type { MediaParticleHandle } from '@/features/particles/media-particle-view';
|
||||
import { useSuspendPlayback } from '@/hooks/use-suspend-playback';
|
||||
import {
|
||||
@@ -15,6 +21,10 @@ interface UsePlaybackKeysOptions {
|
||||
|
||||
interface UsePlaybackKeysResult {
|
||||
fastPlayback: boolean;
|
||||
/** True while playback is paused by the user's space toggle/hold. */
|
||||
spacePaused: boolean;
|
||||
/** Clear the user's space pause (e.g. clicking the on-screen play button). */
|
||||
resume: () => void;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -31,6 +41,11 @@ export function usePlaybackKeys({
|
||||
|
||||
useSuspendPlayback(spaceHeld, 'hold-space');
|
||||
|
||||
const resume = useCallback(() => {
|
||||
setSpaceHeld(false);
|
||||
spaceStartRef.current = 0;
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
const isExternallyPaused = () =>
|
||||
selectIsPaused(usePlaybackPauseStore.getState()) && !spaceHeld;
|
||||
@@ -92,5 +107,5 @@ export function usePlaybackKeys({
|
||||
};
|
||||
}, [mediaRef, spaceHeld]);
|
||||
|
||||
return { fastPlayback };
|
||||
return { fastPlayback, spacePaused: spaceHeld, resume };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user