Files
discord-decomp/modules/messages/native/hooks/useChannelLoading.tsx
T
2026-11-01 12:12:55 +02:00

33 lines
1.2 KiB
TypeScript

// Metro module 10901 (f10902).
import { useState } from "react";
import ChannelLatestMessageLoadingStatsManager from "../ChannelLatestMessageLoadingStatsManager";
import { startOrCancelChannelLatestMessagesLoad } from "../MessagesUtils";
import useMountEffect from "../../../../_bundle/useMountEffect";
export default function useChannelLoading({ channelId, jumpTargetId, oldestUnreadMessageId, shouldJumpToOriginalPost }) {
const [state] = useState(() => new ChannelLatestMessageLoadingStatsManager("Messages"));
useMountEffect(() => {
startOrCancelChannelLatestMessagesLoad({
jumpTargetId,
oldestUnreadMessageId,
shouldJumpToOriginalPost: shouldJumpToOriginalPost(false),
channelId,
tracker: state
});
return () => {
state.cancel();
};
});
return {
channelLatestMessageLoadingStatsManager: state,
startOrCancelLatestMessagesLoad: function startOrCancelLatestMessagesLoad(a0) {
startOrCancelChannelLatestMessagesLoad({
jumpTargetId,
oldestUnreadMessageId,
shouldJumpToOriginalPost: shouldJumpToOriginalPost(a0),
channelId,
tracker: state
});
}
};
};