// Settings page — workspace, members, orchestration policy, security, integrations, API keys // ---------- Form atoms ---------- function Switch({ checked, onChange }) { return ( ); } function Seg({ value, onChange, options }) { return (
{options.map(o => ( ))}
); } function Field({ label, hint, children, stack, badge }) { return (
{label}{badge}
{hint &&
{hint}
}
{children}
); } function SectionHead({ title, sub, action }) { return (

{title}

{sub}

{action}
); } function Panel({ icon, title, right, children, danger }) { return (
{icon && } {title} {right && {right}}
{children}
); } // ---------- Sections ---------- function GeneralSection({ s, set }) { return (
Saved 2m ago} /> set('wsName', e.target.value)} /> orchestra.dev/ set('wsSlug', e.target.value)} /> set('env', v)} options={[ { value: 'prod', label: 'Production' }, { value: 'staging', label: 'Staging' }, ]} />
); } const MEMBERS = [ { name: 'Kavi Rao', email: 'kavi.r@zenix.team', role: 'owner', seen: 'online', color: 'linear-gradient(135deg, oklch(0.65 0.15 30), oklch(0.6 0.18 350))' }, { name: 'Dana Whitfield', email: 'dana.w@zenix.team', role: 'admin', seen: '12m ago', color: 'oklch(0.6 0.16 280)' }, { name: 'Marco Liu', email: 'marco.l@zenix.team', role: 'operator', seen: '1h ago', color: 'oklch(0.62 0.15 200)' }, { name: 'Priya Nair', email: 'priya.n@zenix.team', role: 'operator', seen: '3h ago', color: 'oklch(0.62 0.15 150)' }, { name: 'Sam Okonkwo', email: 'sam.o@zenix.team', role: 'viewer', seen: 'yesterday', color: 'oklch(0.65 0.16 60)' }, ]; function MembersSection() { return (
Invite member} /> {MEMBERS.length} active · 1 pending}> {MEMBERS.map(m => (
{m.name.split(' ').map(w => w[0]).join('')}
{m.name}
{m.email}
{m.seen === 'online' ? online : m.seen}
{m.role === 'owner' ? owner : ( )}
))}
?
jordan.k@zenix.team
invited by Kavi · expires in 6 days
operator
); } function OrchestrationSection({ s, set }) { return (
set('autonomy', v)} options={[ { value: 'supervised', label: 'Supervised' }, { value: 'semi', label: 'Semi-auto' }, { value: 'auto', label: 'Autonomous' }, ]} /> set('maxAgents', +e.target.value)} /> set('queueDepth', +e.target.value)} /> set('gateDb', v)} /> set('gateProd', v)} /> set('gateHigh', v)} /> set('autoRetry', v)} /> set('maxRetries', +e.target.value)} disabled={!s.autoRetry} style={{ opacity: s.autoRetry ? 1 : 0.5 }} /> set('autoRollback', v)} /> set('quietFrom', e.target.value)} /> set('quietTo', e.target.value)} />
); } function SecuritySection({ s, set }) { return (
set('mfa', v)} /> connected} hint="Okta · login.zenix.team — last metadata sync 2 days ago." > set('scim', v)} />