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:
+25
-3
@@ -22,13 +22,18 @@ import { Alert, AlertDescription } from '@/components/ui/alert'
|
||||
import { SectionPageLayout } from '@/components/layout'
|
||||
import { SubscriptionsDialogs } from './components/subscriptions-dialogs'
|
||||
import { SubscriptionsPrimaryButtons } from './components/subscriptions-primary-buttons'
|
||||
import { SubscriptionsProvider } from './components/subscriptions-provider'
|
||||
import {
|
||||
SubscriptionsProvider,
|
||||
useSubscriptions,
|
||||
} from './components/subscriptions-provider'
|
||||
import { SubscriptionsTable } from './components/subscriptions-table'
|
||||
|
||||
export function Subscriptions() {
|
||||
function SubscriptionsContent() {
|
||||
const { t } = useTranslation()
|
||||
const { complianceConfirmed } = useSubscriptions()
|
||||
|
||||
return (
|
||||
<SubscriptionsProvider>
|
||||
<>
|
||||
<SectionPageLayout>
|
||||
<SectionPageLayout.Title>
|
||||
{t('Subscription Management')}
|
||||
@@ -50,11 +55,28 @@ export function Subscriptions() {
|
||||
</div>
|
||||
</SectionPageLayout.Actions>
|
||||
<SectionPageLayout.Content>
|
||||
{!complianceConfirmed ? (
|
||||
<Alert variant='destructive' className='mb-4'>
|
||||
<AlertDescription>
|
||||
{t(
|
||||
'Subscription plan creation and changes are locked until the administrator confirms compliance terms in Payment Gateway settings.'
|
||||
)}
|
||||
</AlertDescription>
|
||||
</Alert>
|
||||
) : null}
|
||||
<SubscriptionsTable />
|
||||
</SectionPageLayout.Content>
|
||||
</SectionPageLayout>
|
||||
|
||||
<SubscriptionsDialogs />
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export function Subscriptions() {
|
||||
return (
|
||||
<SubscriptionsProvider>
|
||||
<SubscriptionsContent />
|
||||
</SubscriptionsProvider>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user