Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | 1x 236x 236x 236x 236x 236x 1x | import { MerchantType } from "@customTypes/merchant.preview.types";
import ChangelogButton from "./ChangelogButton";
import ChangelogModal from "./ChangelogModal";
import { useChangelogModal } from "./hooks/useChanglelogModal";
import { useListTopics } from "features/Minibuilders/Conversations/hooks/useListTopics";
import { calculateTotalUnreadSum } from "features/Minibuilders/Conversations/utils/functions";
import { useChangelogData } from "./hooks/useChangelogData";
import { useCustomTheme } from "@theme/hooks/useCustomTheme";
import { FormProvider } from "react-hook-form";
const Changelog = ({
isOpen,
handleOpenChangelogModal,
isMerchantApproved,
isLoadingConversation,
merchant,
doublePanelActive,
isOpenConversations,
secondPanelWidth,
}: MerchantType & {
isOpen: boolean;
handleOpenChangelogModal: (open?: boolean) => void;
isLoading: boolean;
isMerchantApproved: boolean;
isLoadingConversation: boolean;
doublePanelActive?: boolean;
isOpenConversations?: boolean;
secondPanelWidth?: number;
}) => {
const { isMobileView } = useCustomTheme();
const {
data,
isLoading,
handleLoadMore,
isMoreData,
filtersForm,
isFiltersApplied,
showMoreDataAvailable,
} = useChangelogData({
id: merchant?.accID,
enabled: isMerchantApproved && isOpen,
isOpen,
});
const { data: topicData, isLoading: isTopicDataLoading } = useListTopics({
merchantId: merchant?.accID,
enabled: isMobileView,
});
const { totalUnread } = calculateTotalUnreadSum(topicData?.data);
return (
<>
{!isMobileView && (
<ChangelogButton
handleOpenChangelogModal={handleOpenChangelogModal}
doublePanelActive={doublePanelActive}
isLoading={isLoading}
isOpen={isOpen}
isOpenConversations={isOpenConversations}
secondPanelWidth={secondPanelWidth}
/>
)}
<FormProvider {...filtersForm}>
<ChangelogModal
open={isOpen}
onClose={() => handleOpenChangelogModal(false)}
data={data}
isLoading={isLoading}
isMerchantApproved={isMerchantApproved}
isLoadingConversation={isLoadingConversation || isTopicDataLoading}
totalUnread={totalUnread}
handleLoadMore={handleLoadMore}
merchantId={merchant?.accID}
isMoreData={isMoreData}
isFiltersApplied={isFiltersApplied}
showMoreDataAvailable={showMoreDataAvailable}
/>
</FormProvider>
</>
);
};
export default Changelog;
|