UNPKG

@livelike/react-native

Version:

LiveLike React Native package

39 lines (35 loc) 1.06 kB
import { useCallback } from 'react'; import { useTimelineWidgets } from './useTimelineWidgets'; import { timelineWidgetStoreActions } from '../store'; export type useTimelineWidgetActionsArg = { programId: string; }; export function useTimelineWidgetActions({ programId, }: useTimelineWidgetActionsArg) { const widgets = useTimelineWidgets({ programId }); const onWidgetInteractiveTimeout = useCallback( (timedOutWidgetId: string) => { if (!widgets?.length) { return; } const updatedWidgets = widgets.filter( ({ widgetId }) => widgetId !== timedOutWidgetId ); timelineWidgetStoreActions.updateTimelineWidgetStateAction({ programId, widgetTimelineState: { widgets: updatedWidgets, }, }); }, [widgets] ); return { onWidgetInteractiveTimeout, updateTimelineWidgetStateAction: timelineWidgetStoreActions.updateTimelineWidgetStateAction, updateTimelineWidgetsAction: timelineWidgetStoreActions.updateTimelineWidgetsAction, }; }