import { defineConfig } from '@umijs/max';

export default defineConfig({
  // Force restart
  antd: {},
  access: {},
  model: {},
  initialState: {},
  request: {},
  layout: {
    title: '@umijs/max',
    locale: true,
  },
  locale: {
    default: 'zh-CN',
    antd: true,
    baseNavigator: true,
  },
  routes: [
    {
      path: '/login',
      component: './Login',
      layout: false,
    },
    {
      path: '/',
      redirect: '/home',
    },
    {
      name: 'home',
      path: '/home',
      icon: 'HomeOutlined',
      component: './Home',
    },
    {
      name: 'access',
      path: '/access',
      icon: 'LockOutlined',
      component: './Access',
    },
    {
      name: 'table',
      path: '/table',
      icon: 'TableOutlined',
      component: './Table',
    },
    {
      name: 'users',
      path: '/users',
      icon: 'UserOutlined',
      component: './UserManagement',
      access: 'canSeeAdmin',
    },
    {
      name: 'product.list',
      path: '/products',
      icon: 'AppstoreOutlined',
      component: './ProductList',
    },
    {
      name: 'attributes',
      path: '/attributes',
      icon: 'TagsOutlined',
      component: './ProductAttribute',
    },
    {
      name: 'orders',
      path: '/orders',
      icon: 'ShoppingCartOutlined',
      component: './Order',
    },
    {
      name: 'ranking',
      path: '/ranking',
      icon: 'BarChartOutlined',
      component: './Ranking',
    },
    {
      name: 'articles',
      path: '/articles',
      icon: 'FormOutlined',
      component: './Article',
    },
    {
      name: 'logs',
      path: '/logs',
      icon: 'FileTextOutlined',
      component: './LogAudit',
    },
    {
      name: 'servers',
      path: '/servers',
      icon: 'CloudServerOutlined',
      component: './ServerManagement',
    },
    {
      name: 'inventory',
      path: '/inventory',
      icon: 'AppstoreOutlined',
      component: './Inventory',
    },
    {
      name: 'project',
      path: '/projects',
      icon: 'ProjectOutlined',
      component: './ProjectManagement',
    },
    {
      name: 'product-gallery',
      path: '/product-gallery',
      icon: 'PictureOutlined',
      component: './ProductGallery',
    },
    {
      name: 'system',
      path: '/system',
      icon: 'SettingOutlined',
      routes: [
        {
          name: 'agent-manager',
          path: '/system/agent-manager',
          icon: 'ClusterOutlined',
          component: './AgentManager',
        },
        {
          name: 'skills',
          path: '/system/skills',
          icon: 'ToolOutlined',
          component: './SkillManager',
        },
        {
          name: 'interface-management',
          path: '/system/interface-management',
          icon: 'ApiOutlined',
          component: './InterfaceManagement',
        },
        {
          name: 'workflow',
          path: '/system/workflow-orchestrator',
          icon: 'GlobalOutlined',
          component: './WorkflowOrchestrator',
        },
      ],
    },
  ],
  npmClient: 'npm',
});
