{"ast":null,"code":"var _jsxFileName = \"/Users/nili/Documents/trae_projects/client/src/components/Layout.js\",\n  _s = $RefreshSig$();\nimport React, { useState, useEffect } from 'react';\nimport { Layout, Menu, Avatar, Dropdown, Badge, Button, Space } from 'antd';\nimport { Outlet, useNavigate, useLocation } from 'react-router-dom';\nimport { DashboardOutlined, ProjectOutlined, UserOutlined, TeamOutlined, GlobalOutlined, NotificationOutlined, SettingOutlined, LogoutOutlined, HistoryOutlined, UserSwitchOutlined, FileSearchOutlined, BookOutlined } from '@ant-design/icons';\nimport { useAuth } from '../contexts/AuthContext';\nimport { notificationsAPI } from '../services/api';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst {\n  Header,\n  Sider,\n  Content\n} = Layout;\nconst MainLayout = () => {\n  _s();\n  const [collapsed, setCollapsed] = useState(false);\n  const [unreadCount, setUnreadCount] = useState(0);\n  const {\n    user,\n    logout,\n    isAdmin,\n    isInvestmentManager\n  } = useAuth();\n  const navigate = useNavigate();\n  const location = useLocation();\n  useEffect(() => {\n    fetchUnreadCount();\n  }, []);\n  const fetchUnreadCount = async () => {\n    try {\n      var _response$data$pagina;\n      const response = await notificationsAPI.getAll({\n        limit: 1\n      });\n      setUnreadCount(((_response$data$pagina = response.data.pagination) === null || _response$data$pagina === void 0 ? void 0 : _response$data$pagina.unread) || 0);\n    } catch (error) {\n      console.error('获取未读通知失败:', error);\n    }\n  };\n  const menuItems = [{\n    key: '/',\n    icon: /*#__PURE__*/_jsxDEV(DashboardOutlined, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 46,\n      columnNumber: 13\n    }, this),\n    label: '仪表板'\n  }, {\n    key: '/candidate-projects',\n    icon: /*#__PURE__*/_jsxDEV(FileSearchOutlined, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 51,\n      columnNumber: 13\n    }, this),\n    label: '备选项目库'\n  }, {\n    key: '/projects',\n    icon: /*#__PURE__*/_jsxDEV(ProjectOutlined, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 56,\n      columnNumber: 13\n    }, this),\n    label: '项目管理'\n  }, {\n    key: '/investors',\n    icon: /*#__PURE__*/_jsxDEV(TeamOutlined, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 61,\n      columnNumber: 13\n    }, this),\n    label: '投资者管理'\n  }, {\n    key: '/knowledge',\n    icon: /*#__PURE__*/_jsxDEV(BookOutlined, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 66,\n      columnNumber: 13\n    }, this),\n    label: '知识管理'\n  }, {\n    key: '/news',\n    icon: /*#__PURE__*/_jsxDEV(GlobalOutlined, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 71,\n      columnNumber: 13\n    }, this),\n    label: '行业舆情'\n  }];\n  if (isAdmin()) {\n    menuItems.push({\n      key: '/users',\n      icon: /*#__PURE__*/_jsxDEV(UserSwitchOutlined, {}, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 80,\n        columnNumber: 15\n      }, this),\n      label: '用户管理'\n    }, {\n      key: '/activity',\n      icon: /*#__PURE__*/_jsxDEV(HistoryOutlined, {}, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 85,\n        columnNumber: 15\n      }, this),\n      label: '操作日志'\n    });\n  }\n  menuItems.push({\n    key: '/notifications',\n    icon: /*#__PURE__*/_jsxDEV(Badge, {\n      count: unreadCount,\n      size: \"small\",\n      children: /*#__PURE__*/_jsxDEV(NotificationOutlined, {}, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 96,\n        columnNumber: 11\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 95,\n      columnNumber: 9\n    }, this),\n    label: '通知中心'\n  });\n  const userMenu = [{\n    key: 'profile',\n    icon: /*#__PURE__*/_jsxDEV(UserOutlined, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 106,\n      columnNumber: 13\n    }, this),\n    label: '个人信息',\n    onClick: () => navigate('/profile')\n  }, {\n    key: 'settings',\n    icon: /*#__PURE__*/_jsxDEV(SettingOutlined, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 112,\n      columnNumber: 13\n    }, this),\n    label: '设置'\n  }, {\n    type: 'divider'\n  }, {\n    key: 'logout',\n    icon: /*#__PURE__*/_jsxDEV(LogoutOutlined, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 120,\n      columnNumber: 13\n    }, this),\n    label: '退出登录',\n    onClick: () => {\n      logout();\n      navigate('/login');\n    }\n  }];\n  return /*#__PURE__*/_jsxDEV(Layout, {\n    style: {\n      minHeight: '100vh'\n    },\n    children: [/*#__PURE__*/_jsxDEV(Sider, {\n      collapsible: true,\n      collapsed: collapsed,\n      onCollapse: setCollapsed,\n      children: [/*#__PURE__*/_jsxDEV(\"div\", {\n        style: {\n          height: 64,\n          display: 'flex',\n          alignItems: 'center',\n          justifyContent: 'center',\n          color: '#fff',\n          fontSize: 18,\n          fontWeight: 'bold'\n        },\n        children: collapsed ? 'SG' : '松观投资公司'\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 132,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Menu, {\n        theme: \"dark\",\n        selectedKeys: [location.pathname],\n        mode: \"inline\",\n        items: menuItems,\n        onClick: ({\n          key\n        }) => navigate(key),\n        className: \"sidebar-menu\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 135,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 131,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Layout, {\n      children: [/*#__PURE__*/_jsxDEV(Header, {\n        className: \"layout-header\",\n        children: [/*#__PURE__*/_jsxDEV(\"div\", {}, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 146,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(Space, {\n          children: /*#__PURE__*/_jsxDEV(Dropdown, {\n            menu: {\n              items: userMenu\n            },\n            placement: \"bottomRight\",\n            children: /*#__PURE__*/_jsxDEV(Space, {\n              style: {\n                cursor: 'pointer'\n              },\n              children: [/*#__PURE__*/_jsxDEV(Avatar, {\n                icon: /*#__PURE__*/_jsxDEV(UserOutlined, {}, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 150,\n                  columnNumber: 29\n                }, this)\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 150,\n                columnNumber: 15\n              }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n                children: (user === null || user === void 0 ? void 0 : user.fullName) || (user === null || user === void 0 ? void 0 : user.username)\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 151,\n                columnNumber: 15\n              }, this)]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 149,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 148,\n            columnNumber: 13\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 147,\n          columnNumber: 11\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 145,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Content, {\n        style: {\n          margin: 24,\n          background: '#f0f2f5'\n        },\n        children: /*#__PURE__*/_jsxDEV(\"div\", {\n          className: \"layout-content\",\n          children: /*#__PURE__*/_jsxDEV(Outlet, {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 158,\n            columnNumber: 13\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 157,\n          columnNumber: 11\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 156,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 144,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 130,\n    columnNumber: 5\n  }, this);\n};\n_s(MainLayout, \"tQYRixY78xrKlchmmWuowmg0f7E=\", false, function () {\n  return [useAuth, useNavigate, useLocation];\n});\n_c = MainLayout;\nexport default MainLayout;\nvar _c;\n$RefreshReg$(_c, \"MainLayout\");","map":{"version":3,"names":["React","useState","useEffect","Layout","Menu","Avatar","Dropdown","Badge","Button","Space","Outlet","useNavigate","useLocation","DashboardOutlined","ProjectOutlined","UserOutlined","TeamOutlined","GlobalOutlined","NotificationOutlined","SettingOutlined","LogoutOutlined","HistoryOutlined","UserSwitchOutlined","FileSearchOutlined","BookOutlined","useAuth","notificationsAPI","jsxDEV","_jsxDEV","Header","Sider","Content","MainLayout","_s","collapsed","setCollapsed","unreadCount","setUnreadCount","user","logout","isAdmin","isInvestmentManager","navigate","location","fetchUnreadCount","_response$data$pagina","response","getAll","limit","data","pagination","unread","error","console","menuItems","key","icon","fileName","_jsxFileName","lineNumber","columnNumber","label","push","count","size","children","userMenu","onClick","type","style","minHeight","collapsible","onCollapse","height","display","alignItems","justifyContent","color","fontSize","fontWeight","theme","selectedKeys","pathname","mode","items","className","menu","placement","cursor","fullName","username","margin","background","_c","$RefreshReg$"],"sources":["/Users/nili/Documents/trae_projects/client/src/components/Layout.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { Layout, Menu, Avatar, Dropdown, Badge, Button, Space } from 'antd';\nimport { Outlet, useNavigate, useLocation } from 'react-router-dom';\nimport {\n  DashboardOutlined,\n  ProjectOutlined,\n  UserOutlined,\n  TeamOutlined,\n  GlobalOutlined,\n  NotificationOutlined,\n  SettingOutlined,\n  LogoutOutlined,\n  HistoryOutlined,\n  UserSwitchOutlined,\n  FileSearchOutlined,\n  BookOutlined\n} from '@ant-design/icons';\nimport { useAuth } from '../contexts/AuthContext';\nimport { notificationsAPI } from '../services/api';\n\nconst { Header, Sider, Content } = Layout;\n\nconst MainLayout = () => {\n  const [collapsed, setCollapsed] = useState(false);\n  const [unreadCount, setUnreadCount] = useState(0);\n  const { user, logout, isAdmin, isInvestmentManager } = useAuth();\n  const navigate = useNavigate();\n  const location = useLocation();\n\n  useEffect(() => {\n    fetchUnreadCount();\n  }, []);\n\n  const fetchUnreadCount = async () => {\n    try {\n      const response = await notificationsAPI.getAll({ limit: 1 });\n      setUnreadCount(response.data.pagination?.unread || 0);\n    } catch (error) {\n      console.error('获取未读通知失败:', error);\n    }\n  };\n\n  const menuItems = [\n    {\n      key: '/',\n      icon: <DashboardOutlined />,\n      label: '仪表板',\n    },\n    {\n      key: '/candidate-projects',\n      icon: <FileSearchOutlined />,\n      label: '备选项目库',\n    },\n    {\n      key: '/projects',\n      icon: <ProjectOutlined />,\n      label: '项目管理',\n    },\n    {\n      key: '/investors',\n      icon: <TeamOutlined />,\n      label: '投资者管理',\n    },\n    {\n      key: '/knowledge',\n      icon: <BookOutlined />,\n      label: '知识管理',\n    },\n    {\n      key: '/news',\n      icon: <GlobalOutlined />,\n      label: '行业舆情',\n    },\n  ];\n\n  if (isAdmin()) {\n    menuItems.push(\n      {\n        key: '/users',\n        icon: <UserSwitchOutlined />,\n        label: '用户管理',\n      },\n      {\n        key: '/activity',\n        icon: <HistoryOutlined />,\n        label: '操作日志',\n      }\n    );\n  }\n\n  menuItems.push(\n    {\n      key: '/notifications',\n      icon: (\n        <Badge count={unreadCount} size=\"small\">\n          <NotificationOutlined />\n        </Badge>\n      ),\n      label: '通知中心',\n    }\n  );\n\n  const userMenu = [\n    {\n      key: 'profile',\n      icon: <UserOutlined />,\n      label: '个人信息',\n      onClick: () => navigate('/profile'),\n    },\n    {\n      key: 'settings',\n      icon: <SettingOutlined />,\n      label: '设置',\n    },\n    {\n      type: 'divider',\n    },\n    {\n      key: 'logout',\n      icon: <LogoutOutlined />,\n      label: '退出登录',\n      onClick: () => {\n        logout();\n        navigate('/login');\n      },\n    },\n  ];\n\n  return (\n    <Layout style={{ minHeight: '100vh' }}>\n      <Sider collapsible collapsed={collapsed} onCollapse={setCollapsed}>\n        <div style={{ height: 64, display: 'flex', alignItems: 'center', justifyContent: 'center', color: '#fff', fontSize: 18, fontWeight: 'bold' }}>\n          {collapsed ? 'SG' : '松观投资公司'}\n        </div>\n        <Menu\n          theme=\"dark\"\n          selectedKeys={[location.pathname]}\n          mode=\"inline\"\n          items={menuItems}\n          onClick={({ key }) => navigate(key)}\n          className=\"sidebar-menu\"\n        />\n      </Sider>\n      <Layout>\n        <Header className=\"layout-header\">\n          <div></div>\n          <Space>\n            <Dropdown menu={{ items: userMenu }} placement=\"bottomRight\">\n              <Space style={{ cursor: 'pointer' }}>\n              <Avatar icon={<UserOutlined />} />\n              <span>{user?.fullName || user?.username}</span>\n              </Space>\n            </Dropdown>\n          </Space>\n        </Header>\n        <Content style={{ margin: 24, background: '#f0f2f5' }}>\n          <div className=\"layout-content\">\n            <Outlet />\n          </div>\n        </Content>\n      </Layout>\n    </Layout>\n  );\n};\n\nexport default MainLayout;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}