Files
2023-01-19 10:13:48 -05:00

42 lines
1.2 KiB
JavaScript

import { StrictDict } from 'utils';
import { reduxHooks } from 'hooks';
import ApprovedContent from './views/ApprovedContent';
import EligibleContent from './views/EligibleContent';
import MustRequestContent from './views/MustRequestContent';
import PendingContent from './views/PendingContent';
import RejectedContent from './views/RejectedContent';
export const statusComponents = StrictDict({
pending: PendingContent,
approved: ApprovedContent,
rejected: RejectedContent,
});
export const useCreditBannerData = (cardId) => {
const credit = reduxHooks.useCardCreditData(cardId);
const { supportEmail } = reduxHooks.usePlatformSettingsData();
if (!credit.isEligible) { return null; }
const { error, purchased, requestStatus } = credit;
let ContentComponent = EligibleContent;
if (purchased) {
if (requestStatus == null) {
ContentComponent = MustRequestContent;
} else if (Object.keys(statusComponents).includes(requestStatus)) {
ContentComponent = statusComponents[requestStatus];
}
// Current behavior is to show Elligible State if unknown request status is returned
}
return {
ContentComponent,
error,
supportEmail,
};
};
export default {
useCreditBannerData,
};