diff --git a/apps/admin-x-settings/src/components/settings/membership/offers/AddOfferModal.tsx b/apps/admin-x-settings/src/components/settings/membership/offers/AddOfferModal.tsx index b6f5dd2483..a0d7e8f77d 100644 --- a/apps/admin-x-settings/src/components/settings/membership/offers/AddOfferModal.tsx +++ b/apps/admin-x-settings/src/components/settings/membership/offers/AddOfferModal.tsx @@ -2,20 +2,34 @@ import NiceModal, {useModal} from '@ebay/nice-modal-react'; import PortalFrame from '../portal/PortalFrame'; import useFeatureFlag from '../../../../hooks/useFeatureFlag'; import useRouting from '../../../../hooks/useRouting'; -import {Form, Icon, PreviewModalContent, Select, TextArea, TextField} from '@tryghost/admin-x-design-system'; +import {Form, Icon, PreviewModalContent, Select, SelectOption, TextArea, TextField} from '@tryghost/admin-x-design-system'; import {getOfferPortalPreviewUrl, offerPortalPreviewUrlTypes} from '../../../../utils/getOffersPortalPreviewUrl'; -import {useEffect} from 'react'; +import {getPaidActiveTiers, useBrowseTiers} from '../../../../api/tiers'; +import {getTiersCadences} from '../../../../utils/getTiersCadences'; +import {useEffect, useState} from 'react'; +import {useGlobalData} from '../../../providers/GlobalDataProvider'; + +// we should replace this with a library +function slugify(text: string): string { + return text + .toString() + .toLowerCase() + .trim() + .replace(/\s+/g, '-') + .replace(/[^\w\-]+/g, '') + .replace(/\-\-+/g, '-'); +} interface OfferType { title: string; description: string; } -const ButtonSelect: React.FC<{type: OfferType, checked: boolean}> = ({type, checked}) => { +const ButtonSelect: React.FC<{type: OfferType, checked: boolean, onClick: () => void}> = ({type, checked, onClick}) => { const checkboxClass = checked ? 'bg-black text-white' : 'border border-grey-300'; return ( -