diff --git a/static/js/src/PurchaseModal/PurchaseModal.tsx b/static/js/src/PurchaseModal/PurchaseModal.tsx
index c094f1f25a5..a15cb5991d3 100644
--- a/static/js/src/PurchaseModal/PurchaseModal.tsx
+++ b/static/js/src/PurchaseModal/PurchaseModal.tsx
@@ -211,6 +211,7 @@ const PurchaseModal = ({
content: (
),
diff --git a/static/js/src/PurchaseModal/components/BuyButton/BuyButton.tsx b/static/js/src/PurchaseModal/components/BuyButton/BuyButton.tsx
index 14d8362e2a8..6549ace38e0 100644
--- a/static/js/src/PurchaseModal/components/BuyButton/BuyButton.tsx
+++ b/static/js/src/PurchaseModal/components/BuyButton/BuyButton.tsx
@@ -28,7 +28,10 @@ const BuyButton = ({ setError, quantity, product, action }: Props) => {
const genericPurchaseMutation = useMakePurchase();
const isButtonDisabled =
- !values.captchaValue || !values.TermsAndConditions || isLoading;
+ !values.captchaValue ||
+ !values.TermsAndConditions ||
+ !values.Description ||
+ isLoading;
const buyAction = values.FreeTrial === "useFreeTrial" ? "trial" : action;
@@ -148,6 +151,7 @@ const BuyButton = ({ setError, quantity, product, action }: Props) => {
}
}
setFieldValue("MarketingOptIn", false);
+ setFieldValue("Description", false);
setFieldValue("TermsAndConditions", false);
}
}, [purchaseError]);
diff --git a/static/js/src/PurchaseModal/components/ConfirmAndBuy/ConfirmAndBuy.tsx b/static/js/src/PurchaseModal/components/ConfirmAndBuy/ConfirmAndBuy.tsx
index 63d8b740e13..36be187c94a 100644
--- a/static/js/src/PurchaseModal/components/ConfirmAndBuy/ConfirmAndBuy.tsx
+++ b/static/js/src/PurchaseModal/components/ConfirmAndBuy/ConfirmAndBuy.tsx
@@ -4,10 +4,15 @@ import { Row, Col, CheckboxInput } from "@canonical/react-components";
type Props = {
termsLabel: React.ReactNode;
+ descriptionLabel: React.ReactNode;
marketingLabel: React.ReactNode;
};
-const ConfirmAndBuy = ({ termsLabel, marketingLabel }: Props) => {
+const ConfirmAndBuy = ({
+ termsLabel,
+ descriptionLabel,
+ marketingLabel,
+}: Props) => {
return (
@@ -18,6 +23,14 @@ const ConfirmAndBuy = ({ termsLabel, marketingLabel }: Props) => {
defaultChecked={false}
/>
+
+
+
{
termsLabel={termsLabel}
product={product}
quantity={items.length}
+ descriptionLabel={descriptionLabel}
marketingLabel={marketingLabel}
Summary={OfferSummary}
closeModal={closePortal}
diff --git a/static/js/src/advantage/react/components/Subscriptions/RenewalModal/RenewalModal.tsx b/static/js/src/advantage/react/components/Subscriptions/RenewalModal/RenewalModal.tsx
index f936abb9d24..48ae47ec2dc 100644
--- a/static/js/src/advantage/react/components/Subscriptions/RenewalModal/RenewalModal.tsx
+++ b/static/js/src/advantage/react/components/Subscriptions/RenewalModal/RenewalModal.tsx
@@ -99,6 +99,7 @@ const RenewalModal = ({ subscription, editing }: Props) => {