import {useFormContext} from 'react-hook-form'; import {SettingsPanel} from '../settings-panel'; import {FormSwitch} from '../../../ui/forms/toggle/switch'; import {SettingsSeparator} from '../settings-separator'; import {LearnMoreLink} from '../learn-more-link'; import {AdminSettings} from '../admin-settings'; import {FormTextField} from '../../../ui/forms/input-field/text-field/text-field'; import {SettingsErrorGroup} from '../settings-error-group'; import {JsonChipField} from '../json-chip-field'; import {Tabs} from '../../../ui/tabs/tabs'; import {TabList} from '../../../ui/tabs/tab-list'; import {Tab} from '../../../ui/tabs/tab'; import {TabPanel, TabPanels} from '../../../ui/tabs/tab-panels'; import {Trans} from '../../../i18n/trans'; import {useTrans} from '../../../i18n/use-trans'; import {Fragment} from 'react'; export function SubscriptionSettings() { const {trans} = useTrans(); return ( } description={ } > } > } name="client.billing.accepted_cards" placeholder={trans({message: 'Add new card...'})} /> } name="client.billing.invoice.address" className="mb-30" /> } description={ } name="client.billing.invoice.notes" /> ); } function PaypalSection() { const {watch} = useFormContext(); const paypalIsEnabled = watch('client.billing.paypal.enable'); return (
} > {paypalIsEnabled ? ( {isInvalid => ( } required invalid={isInvalid} className="mb-20" /> } required invalid={isInvalid} className="mb-20" /> } required invalid={isInvalid} className="mb-20" /> } > )} ) : null} ); } function StripeSection() { const {watch} = useFormContext(); const stripeEnabled = watch('client.billing.stripe.enable'); return ( } > {stripeEnabled ? ( {isInvalid => ( } required className="mb-20" invalid={isInvalid} /> } required className="mb-20" invalid={isInvalid} /> } className="mb-20" invalid={isInvalid} /> )} ) : null} ); }