/** 前端入口:antd v6 + react-router,路由守卫由 App 内 authGate 状态控制 */
import React from "react";
import { createRoot } from "react-dom/client";
import { ConfigProvider, App as AntdApp } from "antd";
import zhCN from "antd/locale/zh_CN";
import { createBrowserRouter, RouterProvider } from "react-router-dom";
import { antdTheme } from "./theme.ts";
import "./styles.css";
import { App } from "./App.tsx";
import { LoginPage } from "./pages/Login.tsx";
import { OAuthSimPage } from "./pages/OAuthSim.tsx";
import { DashboardPage } from "./pages/Dashboard.tsx";
import { NodesPage } from "./pages/Nodes.tsx";
import { DomainsPage } from "./pages/Domains.tsx";
import { MailboxesPage } from "./pages/Mailboxes.tsx";
import { EmailsPage } from "./pages/Emails.tsx";
import { WebhooksPage } from "./pages/Webhooks.tsx";
import { KeysPage } from "./pages/Keys.tsx";
import { setUnauthorizedHandler } from "./api.ts";
/** # 成员变量: 路由表 **/
const router = createBrowserRouter([
{ path: "/login", element: },
{ path: "/oauth/sim/authorize", element: },
{
path: "/",
element: ,
children: [
{ index: true, element: },
{ path: "nodes", element: },
{ path: "domains", element: },
{ path: "mailboxes", element: },
{ path: "emails", element: },
{ path: "webhooks", element: },
{ path: "keys", element: },
],
},
]);
/** 未登录统一跳登录页 */
setUnauthorizedHandler(() => {
if (!location.pathname.startsWith("/login")) {
location.href = "/login";
}
});
createRoot(document.getElementById("root")!).render(
,
);