import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { TogglePill } from '@/components/ui/toggle-pill'; import { Skeleton } from '@/components/ui/skeleton'; import { useLicense } from '@/context/LicenseContext'; import { RefreshCw, Database } from 'lucide-react'; import type { PatchableSettings } from './types'; interface DeveloperSectionProps { settings: PatchableSettings; onSettingChange: (key: K, value: PatchableSettings[K]) => void; onSave: () => Promise; isSaving: boolean; isLoading: boolean; } function SettingsSkeleton() { return (
); } export function DeveloperSection({ settings, onSettingChange, onSave, isSaving, isLoading }: DeveloperSectionProps) { const { isPaid, license } = useLicense(); return (
{isLoading ? : ( <>

Enable Real-Time Metrics and Debug Diagnostics

onSettingChange('developer_mode', c ? '1' : '0')} />
{/* Data Retention (Observability) */}
Data Retention

How long to keep per-container CPU/RAM/network history.

onSettingChange('metrics_retention_hours', e.target.value)} className="w-20" /> hrs

How long to keep alert and notification history.

onSettingChange('log_retention_days', e.target.value)} className="w-20" /> days
{isPaid && license?.variant === 'admiral' && (

How long to keep audit trail entries.

onSettingChange('audit_retention_days', e.target.value)} className="w-20" /> days
)}
)}
); }