Migrate from Redux to React Query and React Context. This modernizes state management while maintaining all existing functionality. All the redux code and files were removed, including all redux and related packages.
37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
import React from 'react';
|
|
import PropTypes from 'prop-types';
|
|
|
|
import { useIntl } from '@edx/frontend-platform/i18n';
|
|
|
|
import { useIsMasquerading } from 'hooks';
|
|
import CreditContent from './components/CreditContent';
|
|
import ProviderLink from './components/ProviderLink';
|
|
import hooks from './hooks';
|
|
|
|
import messages from './messages';
|
|
|
|
export const MustRequestContent = ({ cardId }) => {
|
|
const { formatMessage } = useIntl();
|
|
const { requestData, createCreditRequest } = hooks.useCreditRequestData(cardId);
|
|
const isMasquerading = useIsMasquerading();
|
|
return (
|
|
<CreditContent
|
|
action={{
|
|
message: formatMessage(messages.requestCredit),
|
|
onClick: createCreditRequest,
|
|
disabled: isMasquerading,
|
|
}}
|
|
message={formatMessage(messages.mustRequest, {
|
|
linkToProviderSite: (<ProviderLink cardId={cardId} />),
|
|
requestCredit: (<b>{formatMessage(messages.requestCredit)}</b>),
|
|
})}
|
|
requestData={requestData}
|
|
/>
|
|
);
|
|
};
|
|
MustRequestContent.propTypes = {
|
|
cardId: PropTypes.string.isRequired,
|
|
};
|
|
|
|
export default MustRequestContent;
|