Skip to content

Commit 55ee73d

Browse files
committed
Add checkbox to plan upgrade confirmation modal
1 parent dfd71ec commit 55ee73d

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpdateButton/UpdateButton.tsx

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { Provider } from 'shared/api/helpers'
99
import { getNextBillingDate } from 'shared/utils/billing'
1010
import Avatar from 'ui/Avatar'
1111
import Button from 'ui/Button'
12+
import Checkbox from 'ui/Checkbox'
1213
import Modal from 'ui/Modal'
1314

1415
import { PersonalOrgWarning } from '../PersonalOrgWarning'
@@ -31,6 +32,7 @@ const UpdateButton: React.FC<BillingControlsProps> = ({
3132
}) => {
3233
const { provider, owner } = useParams<{ provider: Provider; owner: string }>()
3334
const [showConfirmationModal, setShowConfirmationModal] = useState(false)
35+
const [confirmationIsChecked, setConfirmationIsChecked] = useState(false)
3436
const { data: ownerData } = useOwner({ username: owner })
3537
const { data: planData } = usePlanData({ provider, owner })
3638
const { data: accountDetails } = useAccountDetails({ provider, owner })
@@ -67,10 +69,7 @@ const UpdateButton: React.FC<BillingControlsProps> = ({
6769
body={
6870
<div className="flex flex-col gap-4 px-4 py-2">
6971
<div className="inline-flex items-center gap-1">
70-
By proceeding, you are making the following changes to{' '}
71-
<Avatar user={ownerData} className="size-4" />
72-
<span className="font-bold text-ds-pink-default">{owner}</span>
73-
&apos;s plan:
72+
By proceeding, you are making the following changes to your plan:
7473
</div>
7574
<UpdateBlurb
7675
currentPlan={planData?.plan}
@@ -79,6 +78,24 @@ const UpdateButton: React.FC<BillingControlsProps> = ({
7978
nextBillingDate={getNextBillingDate(accountDetails)!}
8079
/>
8180
<PersonalOrgWarning />
81+
<div className="flex items-center gap-2">
82+
<Checkbox
83+
id="upgrade-confirmation-checkbox"
84+
checked={confirmationIsChecked}
85+
onClick={() => setConfirmationIsChecked(!confirmationIsChecked)}
86+
/>
87+
<label
88+
className="flex flex-wrap items-center"
89+
htmlFor="upgrade-confirmation-checkbox"
90+
>
91+
I accept the changes to
92+
<div className="flex items-center gap-1 pl-1">
93+
<Avatar user={ownerData} className="size-4" border="dark" />
94+
<span className="font-bold">{owner}</span>
95+
</div>
96+
&apos;s plan.
97+
</label>
98+
</div>
8299
<div className="flex justify-end gap-2">
83100
<Button
84101
type="button"
@@ -92,6 +109,7 @@ const UpdateButton: React.FC<BillingControlsProps> = ({
92109
type="submit"
93110
hook="submit-upgrade"
94111
variant="primary"
112+
disabled={!confirmationIsChecked}
95113
onClick={() => {
96114
onSubmit()
97115
setShowConfirmationModal(false)

src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/UpgradeForm.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ function UpgradeForm({ selectedPlan, setSelectedPlan }: UpgradeFormProps) {
123123
<div className="flex flex-col gap-1">
124124
<h3 className="font-semibold">Organization</h3>
125125
<div className="flex items-center gap-2">
126-
<Avatar user={ownerData} />
126+
<Avatar user={ownerData} border="dark" />
127127
{owner}
128128
</div>
129129
</div>

0 commit comments

Comments
 (0)