feat: require compliance confirmation for paid features

Gate payment, redemption, subscription, and invitation reward flows behind an audited compliance acknowledgement.
This commit is contained in:
CaIon
2026-05-13 22:18:46 +08:00
parent aa56667b8f
commit 0526a22643
57 changed files with 1806 additions and 216 deletions
@@ -23,10 +23,14 @@ import { useSubscriptions } from './subscriptions-provider'
export function SubscriptionsPrimaryButtons() {
const { t } = useTranslation()
const { setOpen } = useSubscriptions()
const { setOpen, complianceConfirmed } = useSubscriptions()
return (
<div className='flex gap-2'>
<Button size='sm' onClick={() => setOpen('create')}>
<Button
size='sm'
onClick={() => setOpen('create')}
disabled={!complianceConfirmed}
>
<Plus className='h-4 w-4' />
{t('Create Plan')}
</Button>