33 lines
1.2 KiB
TypeScript
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
|
|
});
|
|
}
|
|
};
|
|
};
|