clash-verge-rev/src/pages/_routers.tsx
2025-03-14 13:31:34 +08:00

75 lines
2.3 KiB
TypeScript

import LogsPage from "./logs";
import ProxiesPage from "./proxies";
import ProfilesPage from "./profiles";
import SettingsPage from "./settings";
import ConnectionsPage from "./connections";
import RulesPage from "./rules";
import HomePage from "./home";
import { BaseErrorBoundary } from "@/components/base";
import ProxiesSvg from "@/assets/image/itemicon/proxies.svg?react";
import ProfilesSvg from "@/assets/image/itemicon/profiles.svg?react";
import ConnectionsSvg from "@/assets/image/itemicon/connections.svg?react";
import RulesSvg from "@/assets/image/itemicon/rules.svg?react";
import LogsSvg from "@/assets/image/itemicon/logs.svg?react";
import SettingsSvg from "@/assets/image/itemicon/settings.svg?react";
import WifiRoundedIcon from "@mui/icons-material/WifiRounded";
import DnsRoundedIcon from "@mui/icons-material/DnsRounded";
import LanguageRoundedIcon from "@mui/icons-material/LanguageRounded";
import ForkRightRoundedIcon from "@mui/icons-material/ForkRightRounded";
import SubjectRoundedIcon from "@mui/icons-material/SubjectRounded";
import WifiTetheringRoundedIcon from "@mui/icons-material/WifiTetheringRounded";
import SettingsRoundedIcon from "@mui/icons-material/SettingsRounded";
import HomeRoundedIcon from "@mui/icons-material/HomeRounded";
export const routers = [
{
label: "Label-Home",
path: "/home",
icon: [<HomeRoundedIcon />],
element: <HomePage />,
},
{
label: "Label-Proxies",
path: "/",
icon: [<WifiRoundedIcon />, <ProxiesSvg />],
element: <ProxiesPage />,
},
{
label: "Label-Profiles",
path: "/profile",
icon: [<DnsRoundedIcon />, <ProfilesSvg />],
element: <ProfilesPage />,
},
{
label: "Label-Connections",
path: "/connections",
icon: [<LanguageRoundedIcon />, <ConnectionsSvg />],
element: <ConnectionsPage />,
},
{
label: "Label-Rules",
path: "/rules",
icon: [<ForkRightRoundedIcon />, <RulesSvg />],
element: <RulesPage />,
},
{
label: "Label-Logs",
path: "/logs",
icon: [<SubjectRoundedIcon />, <LogsSvg />],
element: <LogsPage />,
},
{
label: "Label-Settings",
path: "/settings",
icon: [<SettingsRoundedIcon />, <SettingsSvg />],
element: <SettingsPage />,
},
].map((router) => ({
...router,
element: (
<BaseErrorBoundary key={router.label}>{router.element}</BaseErrorBoundary>
),
}));