TelegramPWA/src/hooks/useFolderManager.ts

36 lines
900 B
TypeScript

import { useEffect } from '../lib/teact/teact';
import {
addChatsCountCallback,
addOrderedIdsCallback,
addUnreadCountersCallback,
getChatsCount,
getOrderedIds,
getUnreadCounters,
} from '../util/folderManager';
import useForceUpdate from './useForceUpdate';
export function useFolderManagerForOrderedIds(folderId: number) {
const forceUpdate = useForceUpdate();
useEffect(() => addOrderedIdsCallback(folderId, forceUpdate), [folderId, forceUpdate]);
return getOrderedIds(folderId);
}
export function useFolderManagerForUnreadCounters() {
const forceUpdate = useForceUpdate();
useEffect(() => addUnreadCountersCallback(forceUpdate), [forceUpdate]);
return getUnreadCounters();
}
export function useFolderManagerForChatsCount() {
const forceUpdate = useForceUpdate();
useEffect(() => addChatsCountCallback(forceUpdate), [forceUpdate]);
return getChatsCount();
}