import { SystemBehaviorSection } from '../general/system-behavior-section' import { EmailSettingsSection } from '../integrations/email-settings-section' import { MonitoringSettingsSection } from '../integrations/monitoring-settings-section' import { WorkerSettingsSection } from '../integrations/worker-settings-section' import { LogSettingsSection } from '../maintenance/log-settings-section' import { PerformanceSection } from '../maintenance/performance-section' import { UpdateCheckerSection } from '../maintenance/update-checker-section' import type { OperationsSettings } from '../types' import { createSectionRegistry } from '../utils/section-registry' const OPERATIONS_SECTIONS = [ { id: 'behavior', titleKey: 'System Behavior', descriptionKey: 'Configure system-wide behavior and defaults', build: (settings: OperationsSettings) => ( ), }, { id: 'monitoring', titleKey: 'Monitoring & Alerts', descriptionKey: 'Configure channel monitoring and automation', build: (settings: OperationsSettings) => ( ), }, { id: 'email', titleKey: 'SMTP Email', descriptionKey: 'Configure SMTP email settings', build: (settings: OperationsSettings) => ( ), }, { id: 'worker', titleKey: 'Worker Proxy', descriptionKey: 'Configure worker service settings', build: (settings: OperationsSettings) => ( ), }, { id: 'logs', titleKey: 'Log Maintenance', descriptionKey: 'Configure log consumption settings', build: (settings: OperationsSettings) => ( ), }, { id: 'performance', titleKey: 'Performance', descriptionKey: 'Disk cache, system monitoring and performance stats', build: (settings: OperationsSettings) => ( ), }, { id: 'update-checker', titleKey: 'System maintenance', descriptionKey: 'Check for system updates', build: ( _settings: OperationsSettings, currentVersion?: string | null, startTime?: number | null ) => ( ), }, ] as const export type OperationsSectionId = (typeof OPERATIONS_SECTIONS)[number]['id'] const operationsRegistry = createSectionRegistry< OperationsSectionId, OperationsSettings, [string | null | undefined, number | null | undefined] >({ sections: OPERATIONS_SECTIONS, defaultSection: 'behavior', basePath: '/system-settings/operations', urlStyle: 'path', }) export const OPERATIONS_SECTION_IDS = operationsRegistry.sectionIds export const OPERATIONS_DEFAULT_SECTION = operationsRegistry.defaultSection export const getOperationsSectionNavItems = operationsRegistry.getSectionNavItems export const getOperationsSectionContent = operationsRegistry.getSectionContent