import { SystemInfoSection } from '../general/system-info-section' import { parseHeaderNavModules, parseSidebarModulesAdmin, serializeHeaderNavModules, serializeSidebarModulesAdmin, } from '../maintenance/config' import { HeaderNavigationSection } from '../maintenance/header-navigation-section' import { NoticeSection } from '../maintenance/notice-section' import { SidebarModulesSection } from '../maintenance/sidebar-modules-section' import type { SiteSettings } from '../types' import { createSectionRegistry } from '../utils/section-registry' const SITE_SECTIONS = [ { id: 'system-info', titleKey: 'System Information', descriptionKey: 'Configure basic system information and branding', build: (settings: SiteSettings) => ( ), }, { id: 'notice', titleKey: 'System Notice', descriptionKey: 'Configure system maintenance notice', build: (settings: SiteSettings) => ( ), }, { id: 'header-navigation', titleKey: 'Header navigation', descriptionKey: 'Configure header navigation modules', build: (settings: SiteSettings) => { const headerNavConfig = parseHeaderNavModules(settings.HeaderNavModules) const headerNavSerialized = serializeHeaderNavModules(headerNavConfig) return ( ) }, }, { id: 'sidebar-modules', titleKey: 'Sidebar modules', descriptionKey: 'Configure sidebar modules for admin', build: (settings: SiteSettings) => { const sidebarConfig = parseSidebarModulesAdmin( settings.SidebarModulesAdmin ) const sidebarSerialized = serializeSidebarModulesAdmin(sidebarConfig) return ( ) }, }, ] as const export type SiteSectionId = (typeof SITE_SECTIONS)[number]['id'] const siteRegistry = createSectionRegistry({ sections: SITE_SECTIONS, defaultSection: 'system-info', basePath: '/system-settings/site', urlStyle: 'path', }) export const SITE_SECTION_IDS = siteRegistry.sectionIds export const SITE_DEFAULT_SECTION = siteRegistry.defaultSection export const getSiteSectionNavItems = siteRegistry.getSectionNavItems export const getSiteSectionContent = siteRegistry.getSectionContent