_routers.tsx 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import LogsPage from "./logs";
  2. import ProxiesPage from "./proxies";
  3. import TestPage from "./test";
  4. import ProfilesPage from "./profiles";
  5. import SettingsPage from "./settings";
  6. import ConnectionsPage from "./connections";
  7. import RulesPage from "./rules";
  8. import { BaseErrorBoundary } from "@/components/base";
  9. import ProxiesSvg from "@/assets/image/itemicon/proxies.svg?react";
  10. import ProfilesSvg from "@/assets/image/itemicon/profiles.svg?react";
  11. import ConnectionsSvg from "@/assets/image/itemicon/connections.svg?react";
  12. import RulesSvg from "@/assets/image/itemicon/rules.svg?react";
  13. import LogsSvg from "@/assets/image/itemicon/logs.svg?react";
  14. import TestSvg from "@/assets/image/itemicon/test.svg?react";
  15. import SettingsSvg from "@/assets/image/itemicon/settings.svg?react";
  16. import WifiRoundedIcon from "@mui/icons-material/WifiRounded";
  17. import DnsRoundedIcon from "@mui/icons-material/DnsRounded";
  18. import LanguageRoundedIcon from "@mui/icons-material/LanguageRounded";
  19. import ForkRightRoundedIcon from "@mui/icons-material/ForkRightRounded";
  20. import SubjectRoundedIcon from "@mui/icons-material/SubjectRounded";
  21. import WifiTetheringRoundedIcon from "@mui/icons-material/WifiTetheringRounded";
  22. import SettingsRoundedIcon from "@mui/icons-material/SettingsRounded";
  23. export const routers = [
  24. {
  25. label: "Label-Proxies",
  26. path: "/",
  27. icon: [<WifiRoundedIcon />, <ProxiesSvg />],
  28. element: <ProxiesPage />,
  29. },
  30. {
  31. label: "Label-Profiles",
  32. path: "/profile",
  33. icon: [<DnsRoundedIcon />, <ProfilesSvg />],
  34. element: <ProfilesPage />,
  35. },
  36. {
  37. label: "Label-Connections",
  38. path: "/connections",
  39. icon: [<LanguageRoundedIcon />, <ConnectionsSvg />],
  40. element: <ConnectionsPage />,
  41. },
  42. {
  43. label: "Label-Rules",
  44. path: "/rules",
  45. icon: [<ForkRightRoundedIcon />, <RulesSvg />],
  46. element: <RulesPage />,
  47. },
  48. {
  49. label: "Label-Logs",
  50. path: "/logs",
  51. icon: [<SubjectRoundedIcon />, <LogsSvg />],
  52. element: <LogsPage />,
  53. },
  54. {
  55. label: "Label-Test",
  56. path: "/test",
  57. icon: [<WifiTetheringRoundedIcon />, <TestSvg />],
  58. element: <TestPage />,
  59. },
  60. {
  61. label: "Label-Settings",
  62. path: "/settings",
  63. icon: [<SettingsRoundedIcon />, <SettingsSvg />],
  64. element: <SettingsPage />,
  65. },
  66. ].map((router) => ({
  67. ...router,
  68. element: (
  69. <BaseErrorBoundary key={router.label}>{router.element}</BaseErrorBoundary>
  70. ),
  71. }));