podcast manager
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 21 lines 564 B view raw
1import {ReadonlySignal, useSignal, useSignalEffect} from '@preact/signals' 2import {liveQuery} from 'dexie' 3 4export function useLiveQuery<T>(querier: () => Promise<T>): ReadonlySignal<T | undefined> { 5 const signal = useSignal<T>() 6 const observable = liveQuery(querier) 7 8 useSignalEffect(() => { 9 const subscription = observable.subscribe((value) => { 10 signal.value = value 11 console.debug('subscription updating') 12 }) 13 14 return () => { 15 subscription.unsubscribe() 16 console.debug('subscription closing') 17 } 18 }) 19 20 return signal 21}