663-line settings-client.tsx → a 79-line orchestrator (activeTab + shared save
status) + settings/panels/{space,integrations,dues,webhooks}-panel.tsx each
owning its own form state + types.ts. Server-action calls and fields preserved
verbatim. tsc 0, build ok.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
15 lines
459 B
TypeScript
15 lines
459 B
TypeScript
'use client'
|
|
|
|
import { StripeBillingPanel } from '@/components/settings/stripe-billing-panel'
|
|
import { DuesPaymentMethodsPanel } from '@/components/settings/dues-payment-methods-panel'
|
|
|
|
// Dues Tab: how members pay dues (Stripe recurring + external links)
|
|
export function DuesPanel({ spaceId }: { spaceId: string }) {
|
|
return (
|
|
<div className="space-y-6">
|
|
<StripeBillingPanel spaceId={spaceId} />
|
|
<DuesPaymentMethodsPanel />
|
|
</div>
|
|
)
|
|
}
|