refactor(settings): decompose settings-client into panels (slice 7)

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) <[email protected]>
This commit is contained in:
Moheeb Zara
2026-08-04 06:14:24 -07:00
co-authored by Claude Opus 4.8
parent 7bc6609ac2
commit 543b1d65eb
6 changed files with 689 additions and 595 deletions
+14
View File
@@ -0,0 +1,14 @@
'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>
)
}