'use client' import { useState } from 'react' import { RolesPanel } from './panels/roles-panel' import { PermissionsPanel } from './panels/permissions-panel' import { TiersPanel } from './panels/tiers-panel' import { AreasPanel } from './panels/areas-panel' import { AreaLeadsPanel } from './panels/area-leads-panel' import { InvitesPanel } from './panels/invites-panel' import { OnboardingPanel } from './panels/onboarding-panel' import type { RoleLabelRow, CustomRole, Tier, Invite, Step, Area } from './panels/types' type Section = 'roles' | 'permissions' | 'tiers' | 'areas' | 'area-leads' | 'invites' | 'onboarding' const SECTIONS: { key: Section; label: string }[] = [ { key: 'roles', label: 'Roles' }, { key: 'permissions', label: 'Permissions' }, { key: 'tiers', label: 'Membership tiers' }, { key: 'areas', label: 'Areas' }, { key: 'area-leads', label: 'Area leads' }, { key: 'invites', label: 'Invite codes' }, { key: 'onboarding', label: 'Onboarding' }, ] interface AreaLead { id: string area_code: string | null area_name: string lead_id: string | null lead_handle: string | null status: string } interface Props { isAdmin: boolean roleLabels: RoleLabelRow[] customRoles: CustomRole[] tiers: Tier[] invites: Invite[] onboardingSteps: Step[] areas: Area[] rolePerms: Array<{ subject: string; permission: string }> areaLeads: AreaLead[] members: Array<{ id: string; display_name: string | null; handle: string | null }> } export function CustomizeClient(props: Props) { const [section, setSection] = useState
('roles') return (

Customize

Make the space yours. Operational settings (identity, integrations, webhooks) live under Settings.

{section === 'roles' && } {section === 'permissions' && } {section === 'tiers' && } {section === 'areas' && } {section === 'area-leads' && } {section === 'invites' && } {section === 'onboarding' && }
) }