import { memo } from 'react'
import {
    AlertOutlined,
    BarChartOutlined,
    BuildOutlined,
    ControlOutlined,
    DatabaseOutlined,
    DeploymentUnitOutlined,
    ExperimentOutlined,
    FilePdfOutlined,
    FolderOutlined,
    FundViewOutlined,
    LineChartOutlined,
    TableOutlined,
} from '@ant-design/icons'

import { makeItem, PrivateWellMenu } from '@components/PrivateWellMenu'

export const menuItems = [
    makeItem('Телеметрия', 'telemetry', [], <FundViewOutlined />, [
        makeItem('Мониторинг', 'telemetry', [], <FundViewOutlined />),
        makeItem('Сообщения', 'messages', [], <AlertOutlined />),
        makeItem('Архив', 'archive', [], <DatabaseOutlined />),
        makeItem('ННБ', 'dashboard_nnb', [], <FolderOutlined />),
        makeItem('Операции', 'operations', [], <FolderOutlined />),
        makeItem('Наработка', 'operation_time', [], <FolderOutlined />),
    ]),
    makeItem('Рапорта', 'reports', [], <FilePdfOutlined />, [
        makeItem('Диаграмма', 'diagram_report', [], <FilePdfOutlined />),
        makeItem('Суточный рапорт', 'daily_report', [], <FolderOutlined />),
    ]),
    makeItem('Аналитика', 'analytics', [], <DeploymentUnitOutlined />, [
        makeItem('Композитная скважина', 'composite', [], <FolderOutlined />, [
            makeItem('Статистика по скважинам', 'wells', [], <FolderOutlined />),
            makeItem('Статистика по секциям', 'sections', [], <FolderOutlined />),
        ]),
        makeItem('Оценка по ЦБ', 'statistics', [], <FolderOutlined />),
    ]),
    makeItem('Операции по скважине', 'operations', [], <FolderOutlined />, [
        makeItem('TVD', 'tvd', [], <LineChartOutlined />),
        makeItem('Секции', 'sections', [], <BuildOutlined />),
        makeItem('План', 'plan', [], <TableOutlined />),
        makeItem('Факт', 'fact', [], <TableOutlined />),
        makeItem('РТК', 'drillProcessFlow', [], <BarChartOutlined />),
        makeItem('Режимы', 'params', [], <ControlOutlined />),
    ]),
    makeItem('Документы', 'document', [], <FolderOutlined />, [
        makeItem('Растворный сервис', 'fluidService', [], <FolderOutlined />),
        makeItem('Цементирование', 'cementing', [], <FolderOutlined />),
        makeItem('ННБ', 'nnb', [], <FolderOutlined />),
        makeItem('ГТИ', 'gti', [], <FolderOutlined />),
        makeItem('Документы по скважине', 'documentsForWell', [], <FolderOutlined />),
        makeItem('Супервайзер', 'supervisor', [], <FolderOutlined />),
        makeItem('Мастер', 'master', [], <FolderOutlined />),
        makeItem('Долотный сервис', 'toolService', [], <FolderOutlined />),
        makeItem('Буровой подрядчик', 'drillService', [], <FolderOutlined />),
        makeItem('Сервис по заканчиванию скважины', 'closingService', [], <FolderOutlined />),
    ]),
    makeItem('Измерения', 'measure', [], <ExperimentOutlined />),
    makeItem('Программа бурения', 'drillingProgram', [], <FolderOutlined />),
    makeItem('Дело скважины', 'well_case', [], <FolderOutlined />),
]

export const NavigationMenu = memo((props) => (
    <PrivateWellMenu
        {...props}
        items={menuItems}
        rootPath={'/well/{wellId}'}
        mode={'inline'}
        theme={'dark'}
        style={{ backgroundColor: 'transparent' }}
    />
))

export default NavigationMenu
