import type { IntegrationSettings } from '../types'
import { createSectionRegistry } from '../utils/section-registry'
import { EmailSettingsSection } from './email-settings-section'
import { IoNetDeploymentSettingsSection } from './ionet-deployment-settings-section'
import { MonitoringSettingsSection } from './monitoring-settings-section'
import { PaymentSettingsSection } from './payment-settings-section'
import { WorkerSettingsSection } from './worker-settings-section'
const INTEGRATIONS_SECTIONS = [
{
id: 'payment',
titleKey: 'Payment Gateway',
descriptionKey: 'Configure payment gateway integrations',
build: (settings: IntegrationSettings) => (
),
},
{
id: 'email',
titleKey: 'SMTP Email',
descriptionKey: 'Configure SMTP email settings',
build: (settings: IntegrationSettings) => (
),
},
{
id: 'worker',
titleKey: 'Worker Proxy',
descriptionKey: 'Configure worker service settings',
build: (settings: IntegrationSettings) => (
),
},
{
id: 'ionet',
titleKey: 'io.net Deployments',
descriptionKey: 'Configure IoNet model deployment settings',
build: (settings: IntegrationSettings) => (
),
},
{
id: 'monitoring',
titleKey: 'Monitoring & Alerts',
descriptionKey: 'Configure channel monitoring and automation',
build: (settings: IntegrationSettings) => (
),
},
] as const
export type IntegrationSectionId = (typeof INTEGRATIONS_SECTIONS)[number]['id']
const integrationsRegistry = createSectionRegistry<
IntegrationSectionId,
IntegrationSettings
>({
sections: INTEGRATIONS_SECTIONS,
defaultSection: 'payment',
basePath: '/system-settings/integrations',
urlStyle: 'path',
})
export const INTEGRATIONS_SECTION_IDS = integrationsRegistry.sectionIds
export const INTEGRATIONS_DEFAULT_SECTION = integrationsRegistry.defaultSection
export const getIntegrationsSectionNavItems =
integrationsRegistry.getSectionNavItems
export const getIntegrationsSectionContent =
integrationsRegistry.getSectionContent