import {
  require_jsx_dev_runtime
} from "/build/_shared/chunk-XGOTYLZ5.js";
import {
  Link,
  Links,
  LiveReload,
  Meta,
  Outlet,
  Scripts,
  ScrollRestoration,
  isRouteErrorResponse,
  useLocation,
  useMatches,
  useRouteError
} from "/build/_shared/chunk-RG2SZ2V3.js";
import {
  createHotContext
} from "/build/_shared/chunk-73ZPIOGA.js";
import "/build/_shared/chunk-UWV35TSL.js";
import "/build/_shared/chunk-U4FRFQSK.js";
import {
  require_react
} from "/build/_shared/chunk-7M6SC7J5.js";
import {
  __toESM
} from "/build/_shared/chunk-PNG5AS42.js";

// app/components/layout/Layout.tsx
var import_react4 = __toESM(require_react(), 1);

// app/components/layout/Sidebar.tsx
var import_react = __toESM(require_react(), 1);
var import_jsx_dev_runtime = __toESM(require_jsx_dev_runtime(), 1);
if (!window.$RefreshReg$ || !window.$RefreshSig$ || !window.$RefreshRuntime$) {
  console.warn("remix:hmr: React Fast Refresh only works when the Remix compiler is running in development mode.");
} else {
  prevRefreshReg = window.$RefreshReg$;
  prevRefreshSig = window.$RefreshSig$;
  window.$RefreshReg$ = (type, id) => {
    window.$RefreshRuntime$.register(type, '"app\\\\components\\\\layout\\\\Sidebar.tsx"' + id);
  };
  window.$RefreshSig$ = window.$RefreshRuntime$.createSignatureFunctionForTransform;
}
var prevRefreshReg;
var prevRefreshSig;
var _s = $RefreshSig$();
if (import.meta) {
  import.meta.hot = createHotContext(
    //@ts-expect-error
    "app\\components\\layout\\Sidebar.tsx"
  );
  import.meta.hot.lastModified = "1742953603315.5676";
}
function Sidebar({
  onToggle,
  collapsed
}) {
  _s();
  const location = useLocation();
  const [expandedMenus, setExpandedMenus] = (0, import_react.useState)({});
  const menuItems = [{
    id: "home",
    title: "\u9996\u9875",
    path: "/",
    icon: "ri-home-line"
  }, {
    id: "file-management",
    title: "\u6587\u4EF6\u7BA1\u7406",
    path: "/files",
    icon: "ri-folder-line",
    children: [{
      id: "file-upload",
      title: "\u6587\u4EF6\u4E0A\u4F20",
      path: "/files/new",
      icon: "ri-upload-cloud-line"
    }, {
      id: "file-list",
      title: "\u6587\u4EF6\u5217\u8868",
      path: "/files",
      icon: "ri-file-list-3-line"
    }]
  }, {
    id: "rule-management",
    title: "\u8BC4\u67E5\u89C4\u5219\u5E93",
    path: "/rules",
    icon: "ri-book-3-line",
    children: [
      {
        id: "rule-groups",
        title: "\u8BC4\u67E5\u70B9\u5206\u7EC4",
        path: "/rule-groups",
        icon: "ri-folder-open-line"
      },
      {
        id: "rule-list",
        title: "\u8BC4\u67E5\u70B9\u5217\u8868",
        path: "/rules",
        icon: "ri-list-check-3"
      }
      // {
      //   id: 'rule-new',
      //   title: '新增评查点',
      //   path: '/rules/new',
      //   icon: 'ri-add-circle-line'
      // }
    ]
  }, {
    id: "review-management",
    title: "\u8BC4\u67E5\u7ED3\u679C",
    path: "/reviews",
    icon: "ri-bar-chart-box-line",
    children: [{
      id: "review-detail",
      title: "\u8BC4\u67E5\u8BE6\u60C5",
      path: "/reviews",
      icon: "ri-file-chart-line"
    }]
  }, {
    id: "system-settings",
    title: "\u7CFB\u7EDF\u8BBE\u7F6E",
    path: "/settings",
    icon: "ri-settings-4-line",
    children: [{
      id: "basic-settings",
      title: "\u57FA\u7840\u8BBE\u7F6E",
      path: "/settings",
      icon: "ri-equalizer-line"
    }, {
      id: "document-types",
      title: "\u6587\u6863\u7C7B\u578B",
      path: "/doc-types",
      icon: "ri-file-list-line"
    }, {
      id: "prompt-management",
      title: "\u63D0\u793A\u8BCD\u7BA1\u7406",
      path: "/prompts",
      icon: "ri-chat-1-line"
    }]
  }];
  (0, import_react.useEffect)(() => {
    const initialExpandedState = {};
    menuItems.forEach((item) => {
      if (item.children) {
        initialExpandedState[item.id] = true;
      }
    });
    setExpandedMenus(initialExpandedState);
  }, []);
  const toggleMenu = (id, e) => {
    e.preventDefault();
    e.stopPropagation();
    setExpandedMenus((prev) => ({
      ...prev,
      [id]: !prev[id]
    }));
  };
  const isActive = (path) => {
    return location.pathname === path || location.pathname.startsWith(`${path}/`);
  };
  const handleToggleSidebar = (e) => {
    e.preventDefault();
    e.stopPropagation();
    onToggle();
  };
  return /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: `sidebar ${collapsed ? "collapsed" : ""}`, children: [
    /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "py-6 px-4 border-b border-gray-100 flex justify-between items-center", children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "flex items-center", children: [
        /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("i", { className: "ri-file-search-line text-primary text-xl mr-2" }, void 0, false, {
          fileName: "app/components/layout/Sidebar.tsx",
          lineNumber: 140,
          columnNumber: 11
        }, this),
        !collapsed && /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("h2", { className: "text-lg font-medium", children: "AI\u5BA1\u6838\u7CFB\u7EDF" }, void 0, false, {
          fileName: "app/components/layout/Sidebar.tsx",
          lineNumber: 141,
          columnNumber: 26
        }, this)
      ] }, void 0, true, {
        fileName: "app/components/layout/Sidebar.tsx",
        lineNumber: 139,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("button", { className: "sidebar-toggle", onClick: handleToggleSidebar, "aria-label": collapsed ? "\u5C55\u5F00\u4FA7\u8FB9\u680F" : "\u6298\u53E0\u4FA7\u8FB9\u680F", type: "button", children: /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("i", { className: `${collapsed ? "ri-menu-unfold-line" : "ri-menu-fold-line"}` }, void 0, false, {
        fileName: "app/components/layout/Sidebar.tsx",
        lineNumber: 144,
        columnNumber: 11
      }, this) }, void 0, false, {
        fileName: "app/components/layout/Sidebar.tsx",
        lineNumber: 143,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "app/components/layout/Sidebar.tsx",
      lineNumber: 138,
      columnNumber: 7
    }, this),
    !collapsed && /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "user-profile p-4 border-b border-gray-100 flex items-center", children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "avatar w-10 h-10 rounded-full bg-primary text-white flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("span", { children: "\u7BA1" }, void 0, false, {
        fileName: "app/components/layout/Sidebar.tsx",
        lineNumber: 150,
        columnNumber: 13
      }, this) }, void 0, false, {
        fileName: "app/components/layout/Sidebar.tsx",
        lineNumber: 149,
        columnNumber: 11
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "ml-3", children: [
        /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("p", { className: "text-sm font-medium", children: "\u7CFB\u7EDF\u7BA1\u7406\u5458" }, void 0, false, {
          fileName: "app/components/layout/Sidebar.tsx",
          lineNumber: 153,
          columnNumber: 13
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("p", { className: "text-xs text-gray-500", children: "\u8D85\u7EA7\u7BA1\u7406\u5458" }, void 0, false, {
          fileName: "app/components/layout/Sidebar.tsx",
          lineNumber: 154,
          columnNumber: 13
        }, this)
      ] }, void 0, true, {
        fileName: "app/components/layout/Sidebar.tsx",
        lineNumber: 152,
        columnNumber: 11
      }, this)
    ] }, void 0, true, {
      fileName: "app/components/layout/Sidebar.tsx",
      lineNumber: 148,
      columnNumber: 22
    }, this),
    /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "py-4 px-[10px]", children: menuItems.map((item) => /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: `${collapsed ? "px-0" : ""}`, children: !item.children ? /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Link, { to: item.path, className: `sidebar-menu-item ${isActive(item.path) ? "active" : ""} flex items-center ${collapsed ? "justify-center" : ""}`, children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("i", { className: `${item.icon} ${collapsed ? "text-xl" : "mr-3"}` }, void 0, false, {
        fileName: "app/components/layout/Sidebar.tsx",
        lineNumber: 161,
        columnNumber: 17
      }, this),
      !collapsed && /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("span", { children: item.title }, void 0, false, {
        fileName: "app/components/layout/Sidebar.tsx",
        lineNumber: 162,
        columnNumber: 32
      }, this)
    ] }, void 0, true, {
      fileName: "app/components/layout/Sidebar.tsx",
      lineNumber: 160,
      columnNumber: 31
    }, this) : /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(import_jsx_dev_runtime.Fragment, { children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: `sidebar-menu-item flex items-center ${collapsed ? "justify-center" : "justify-between"} cursor-pointer`, onClick: (e) => toggleMenu(item.id, e), role: "button", tabIndex: 0, "aria-expanded": expandedMenus[item.id] || false, "aria-controls": `submenu-${item.id}`, onKeyDown: (e) => {
        if (e.key === "Enter" || e.key === " ") {
          e.preventDefault();
          toggleMenu(item.id, e);
        }
      }, children: [
        /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: "flex items-center", children: [
          /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("i", { className: `${item.icon} ${collapsed ? "text-xl" : "mr-3"}` }, void 0, false, {
            fileName: "app/components/layout/Sidebar.tsx",
            lineNumber: 171,
            columnNumber: 21
          }, this),
          !collapsed && /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("span", { children: item.title }, void 0, false, {
            fileName: "app/components/layout/Sidebar.tsx",
            lineNumber: 172,
            columnNumber: 36
          }, this)
        ] }, void 0, true, {
          fileName: "app/components/layout/Sidebar.tsx",
          lineNumber: 170,
          columnNumber: 19
        }, this),
        !collapsed && /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("i", { className: `ri-arrow-${expandedMenus[item.id] ? "down" : "right"}-s-line` }, void 0, false, {
          fileName: "app/components/layout/Sidebar.tsx",
          lineNumber: 174,
          columnNumber: 34
        }, this)
      ] }, void 0, true, {
        fileName: "app/components/layout/Sidebar.tsx",
        lineNumber: 164,
        columnNumber: 17
      }, this),
      (expandedMenus[item.id] || collapsed) && /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("div", { className: `${collapsed ? "border-l-0 pl-0" : "border-l border-gray-100 ml-4 pl-3"}`, id: `submenu-${item.id}`, children: item.children.map((child) => /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)(Link, { to: child.path, className: `sidebar-menu-item ${isActive(child.path) ? "active" : ""} flex items-center ${collapsed ? "justify-center" : ""}`, children: [
        /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("i", { className: `${child.icon} ${collapsed ? "text-xl" : "mr-3"}` }, void 0, false, {
          fileName: "app/components/layout/Sidebar.tsx",
          lineNumber: 179,
          columnNumber: 25
        }, this),
        !collapsed && /* @__PURE__ */ (0, import_jsx_dev_runtime.jsxDEV)("span", { children: child.title }, void 0, false, {
          fileName: "app/components/layout/Sidebar.tsx",
          lineNumber: 180,
          columnNumber: 40
        }, this)
      ] }, child.id, true, {
        fileName: "app/components/layout/Sidebar.tsx",
        lineNumber: 178,
        columnNumber: 49
      }, this)) }, void 0, false, {
        fileName: "app/components/layout/Sidebar.tsx",
        lineNumber: 177,
        columnNumber: 59
      }, this)
    ] }, void 0, true, {
      fileName: "app/components/layout/Sidebar.tsx",
      lineNumber: 163,
      columnNumber: 25
    }, this) }, item.id, false, {
      fileName: "app/components/layout/Sidebar.tsx",
      lineNumber: 159,
      columnNumber: 32
    }, this)) }, void 0, false, {
      fileName: "app/components/layout/Sidebar.tsx",
      lineNumber: 158,
      columnNumber: 7
    }, this)
  ] }, void 0, true, {
    fileName: "app/components/layout/Sidebar.tsx",
    lineNumber: 137,
    columnNumber: 10
  }, this);
}
_s(Sidebar, "+oq+XysjOmJdl7XaTxZwHB59ajw=", false, function() {
  return [useLocation];
});
_c = Sidebar;
var _c;
$RefreshReg$(_c, "Sidebar");
window.$RefreshReg$ = prevRefreshReg;
window.$RefreshSig$ = prevRefreshSig;

// app/components/layout/Breadcrumb.tsx
var import_jsx_dev_runtime2 = __toESM(require_jsx_dev_runtime(), 1);
if (!window.$RefreshReg$ || !window.$RefreshSig$ || !window.$RefreshRuntime$) {
  console.warn("remix:hmr: React Fast Refresh only works when the Remix compiler is running in development mode.");
} else {
  prevRefreshReg = window.$RefreshReg$;
  prevRefreshSig = window.$RefreshSig$;
  window.$RefreshReg$ = (type, id) => {
    window.$RefreshRuntime$.register(type, '"app\\\\components\\\\layout\\\\Breadcrumb.tsx"' + id);
  };
  window.$RefreshSig$ = window.$RefreshRuntime$.createSignatureFunctionForTransform;
}
var prevRefreshReg;
var prevRefreshSig;
var _s2 = $RefreshSig$();
if (import.meta) {
  import.meta.hot = createHotContext(
    //@ts-expect-error
    "app\\components\\layout\\Breadcrumb.tsx"
  );
  import.meta.hot.lastModified = "1742888377198.358";
}
function Breadcrumb({
  items = [],
  className = ""
}) {
  _s2();
  const matches = useMatches();
  const breadcrumbs = items.length > 0 ? items : matches.filter((match) => match.handle?.breadcrumb).map((match) => ({
    title: typeof match.handle?.breadcrumb === "function" ? match.handle.breadcrumb(match.data) : match.handle?.breadcrumb,
    to: match.pathname
  }));
  if (breadcrumbs.length === 0) {
    return null;
  }
  return /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("nav", { className: `mb-4 ${className}`, "aria-label": "\u9762\u5305\u5C51\u5BFC\u822A", children: /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("ol", { className: "flex items-center space-x-2 text-sm text-gray-500", children: [
    /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("li", { children: /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)(Link, { to: "/", className: "hover:text-primary-600 flex items-center", children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("i", { className: "ri-home-line mr-1" }, void 0, false, {
        fileName: "app/components/layout/Breadcrumb.tsx",
        lineNumber: 40,
        columnNumber: 13
      }, this),
      "\u9996\u9875"
    ] }, void 0, true, {
      fileName: "app/components/layout/Breadcrumb.tsx",
      lineNumber: 39,
      columnNumber: 11
    }, this) }, void 0, false, {
      fileName: "app/components/layout/Breadcrumb.tsx",
      lineNumber: 38,
      columnNumber: 9
    }, this),
    breadcrumbs.map((item, index) => /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("li", { className: "flex items-center", children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("i", { className: "ri-arrow-right-s-line mx-1 text-gray-400" }, void 0, false, {
        fileName: "app/components/layout/Breadcrumb.tsx",
        lineNumber: 46,
        columnNumber: 13
      }, this),
      index === breadcrumbs.length - 1 ? /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)("span", { className: "text-gray-900 font-medium", children: item.title }, void 0, false, {
        fileName: "app/components/layout/Breadcrumb.tsx",
        lineNumber: 47,
        columnNumber: 49
      }, this) : /* @__PURE__ */ (0, import_jsx_dev_runtime2.jsxDEV)(Link, { to: item.to || "#", className: "hover:text-primary-600", children: item.title }, void 0, false, {
        fileName: "app/components/layout/Breadcrumb.tsx",
        lineNumber: 47,
        columnNumber: 115
      }, this)
    ] }, index, true, {
      fileName: "app/components/layout/Breadcrumb.tsx",
      lineNumber: 45,
      columnNumber: 43
    }, this))
  ] }, void 0, true, {
    fileName: "app/components/layout/Breadcrumb.tsx",
    lineNumber: 37,
    columnNumber: 7
  }, this) }, void 0, false, {
    fileName: "app/components/layout/Breadcrumb.tsx",
    lineNumber: 36,
    columnNumber: 10
  }, this);
}
_s2(Breadcrumb, "46X5kjpIrhuIfMTCQ4hKaOh18WA=", false, function() {
  return [useMatches];
});
_c2 = Breadcrumb;
var _c2;
$RefreshReg$(_c2, "Breadcrumb");
window.$RefreshReg$ = prevRefreshReg;
window.$RefreshSig$ = prevRefreshSig;

// app/components/layout/Layout.tsx
var import_jsx_dev_runtime3 = __toESM(require_jsx_dev_runtime(), 1);
if (!window.$RefreshReg$ || !window.$RefreshSig$ || !window.$RefreshRuntime$) {
  console.warn("remix:hmr: React Fast Refresh only works when the Remix compiler is running in development mode.");
} else {
  prevRefreshReg = window.$RefreshReg$;
  prevRefreshSig = window.$RefreshSig$;
  window.$RefreshReg$ = (type, id) => {
    window.$RefreshRuntime$.register(type, '"app\\\\components\\\\layout\\\\Layout.tsx"' + id);
  };
  window.$RefreshSig$ = window.$RefreshRuntime$.createSignatureFunctionForTransform;
}
var prevRefreshReg;
var prevRefreshSig;
var _s3 = $RefreshSig$();
if (import.meta) {
  import.meta.hot = createHotContext(
    //@ts-expect-error
    "app\\components\\layout\\Layout.tsx"
  );
  import.meta.hot.lastModified = "1742899676467.7688";
}
function Layout({
  children
}) {
  _s3();
  const [sidebarCollapsed, setSidebarCollapsed] = (0, import_react4.useState)(false);
  (0, import_react4.useEffect)(() => {
    const savedState = localStorage.getItem("sidebarCollapsed");
    if (savedState) {
      setSidebarCollapsed(savedState === "true");
    }
  }, []);
  const toggleSidebar = () => {
    const newState = !sidebarCollapsed;
    setSidebarCollapsed(newState);
    localStorage.setItem("sidebarCollapsed", String(newState));
  };
  return /* @__PURE__ */ (0, import_jsx_dev_runtime3.jsxDEV)("div", { className: "layout-container", children: [
    /* @__PURE__ */ (0, import_jsx_dev_runtime3.jsxDEV)(Sidebar, { collapsed: sidebarCollapsed, onToggle: toggleSidebar }, void 0, false, {
      fileName: "app/components/layout/Layout.tsx",
      lineNumber: 44,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ (0, import_jsx_dev_runtime3.jsxDEV)("div", { className: `main-content ${sidebarCollapsed ? "sidebar-collapsed" : ""}`, children: /* @__PURE__ */ (0, import_jsx_dev_runtime3.jsxDEV)("div", { className: "content-container", children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime3.jsxDEV)(Breadcrumb, { className: "px-6 pt-4" }, void 0, false, {
        fileName: "app/components/layout/Layout.tsx",
        lineNumber: 49,
        columnNumber: 11
      }, this),
      children
    ] }, void 0, true, {
      fileName: "app/components/layout/Layout.tsx",
      lineNumber: 48,
      columnNumber: 9
    }, this) }, void 0, false, {
      fileName: "app/components/layout/Layout.tsx",
      lineNumber: 46,
      columnNumber: 7
    }, this)
  ] }, void 0, true, {
    fileName: "app/components/layout/Layout.tsx",
    lineNumber: 43,
    columnNumber: 10
  }, this);
}
_s3(Layout, "FxVX3h52uwQ1gyRn5YTJikmiifg=");
_c3 = Layout;
var _c3;
$RefreshReg$(_c3, "Layout");
window.$RefreshReg$ = prevRefreshReg;
window.$RefreshSig$ = prevRefreshSig;

// app/components/error/ErrorBoundary.tsx
var import_jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
if (!window.$RefreshReg$ || !window.$RefreshSig$ || !window.$RefreshRuntime$) {
  console.warn("remix:hmr: React Fast Refresh only works when the Remix compiler is running in development mode.");
} else {
  prevRefreshReg = window.$RefreshReg$;
  prevRefreshSig = window.$RefreshSig$;
  window.$RefreshReg$ = (type, id) => {
    window.$RefreshRuntime$.register(type, '"app\\\\components\\\\error\\\\ErrorBoundary.tsx"' + id);
  };
  window.$RefreshSig$ = window.$RefreshRuntime$.createSignatureFunctionForTransform;
}
var prevRefreshReg;
var prevRefreshSig;
if (import.meta) {
  import.meta.hot = createHotContext(
    //@ts-expect-error
    "app\\components\\error\\ErrorBoundary.tsx"
  );
  import.meta.hot.lastModified = "1742800194231.6147";
}
function ErrorBoundary({
  status,
  statusText,
  message
}) {
  return /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)("div", { className: "min-h-screen flex flex-col items-center justify-center bg-gray-50 px-4", children: [
    /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)("div", { className: "text-center", children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)("h1", { className: "text-6xl font-bold text-primary mb-4", children: status }, void 0, false, {
        fileName: "app/components/error/ErrorBoundary.tsx",
        lineNumber: 30,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)("p", { className: "text-xl font-medium text-gray-800 mb-6", children: statusText }, void 0, false, {
        fileName: "app/components/error/ErrorBoundary.tsx",
        lineNumber: 31,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)("p", { className: "text-base text-gray-600 mb-8", children: message }, void 0, false, {
        fileName: "app/components/error/ErrorBoundary.tsx",
        lineNumber: 32,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)(Link, { to: "/", className: "ant-btn ant-btn-primary", children: [
        /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)("i", { className: "ri-home-line mr-1" }, void 0, false, {
          fileName: "app/components/error/ErrorBoundary.tsx",
          lineNumber: 34,
          columnNumber: 11
        }, this),
        " \u8FD4\u56DE\u9996\u9875"
      ] }, void 0, true, {
        fileName: "app/components/error/ErrorBoundary.tsx",
        lineNumber: 33,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "app/components/error/ErrorBoundary.tsx",
      lineNumber: 29,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)("div", { className: "mt-12 text-center", children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)("p", { className: "text-sm text-gray-500", children: "\u5982\u679C\u95EE\u9898\u6301\u7EED\u5B58\u5728\uFF0C\u8BF7\u8054\u7CFB\u7CFB\u7EDF\u7BA1\u7406\u5458" }, void 0, false, {
        fileName: "app/components/error/ErrorBoundary.tsx",
        lineNumber: 38,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime4.jsxDEV)("p", { className: "text-sm text-gray-500 mt-1", children: "\u6280\u672F\u652F\u6301\uFF1Asupport@tobacco-ai-system.com" }, void 0, false, {
        fileName: "app/components/error/ErrorBoundary.tsx",
        lineNumber: 39,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "app/components/error/ErrorBoundary.tsx",
      lineNumber: 37,
      columnNumber: 7
    }, this)
  ] }, void 0, true, {
    fileName: "app/components/error/ErrorBoundary.tsx",
    lineNumber: 28,
    columnNumber: 10
  }, this);
}
_c4 = ErrorBoundary;
var _c4;
$RefreshReg$(_c4, "ErrorBoundary");
window.$RefreshReg$ = prevRefreshReg;
window.$RefreshSig$ = prevRefreshSig;

// app/root.tsx
var import_jsx_dev_runtime5 = __toESM(require_jsx_dev_runtime(), 1);
if (!window.$RefreshReg$ || !window.$RefreshSig$ || !window.$RefreshRuntime$) {
  console.warn("remix:hmr: React Fast Refresh only works when the Remix compiler is running in development mode.");
} else {
  prevRefreshReg = window.$RefreshReg$;
  prevRefreshSig = window.$RefreshSig$;
  window.$RefreshReg$ = (type, id) => {
    window.$RefreshRuntime$.register(type, '"app\\\\root.tsx"' + id);
  };
  window.$RefreshSig$ = window.$RefreshRuntime$.createSignatureFunctionForTransform;
}
var prevRefreshReg;
var prevRefreshSig;
var _s4 = $RefreshSig$();
if (import.meta) {
  import.meta.hot = createHotContext(
    //@ts-expect-error
    "app\\root.tsx"
  );
}
var meta = () => {
  return [
    {
      charSet: "utf-8"
    },
    {
      name: "viewport",
      content: "width=device-width,initial-scale=1"
    },
    {
      title: "\u4E2D\u56FD\u70DF\u8349AI\u5408\u540C\u53CA\u5377\u5B97\u5BA1\u6838\u7CFB\u7EDF"
    },
    {
      name: "description",
      content: "\u4E13\u4E1A\u7684AI\u5408\u540C\u53CA\u5377\u5B97\u8BC4\u67E5\u7CFB\u7EDF\uFF0C\u63D0\u4F9B\u667A\u80FD\u5BA1\u6838\u3001\u98CE\u9669\u8BC4\u4F30\u548C\u89C4\u8303\u5316\u5EFA\u8BAE"
    },
    {
      name: "robots",
      content: "noindex,nofollow"
    }
    // 内部系统，防止被搜索引擎索引
  ];
};
function links() {
  return [
    {
      rel: "stylesheet",
      href: "/tailwind.css"
    },
    // 使用构建后的Tailwind CSS
    {
      rel: "preconnect",
      href: "https://fonts.googleapis.com"
    },
    {
      rel: "preconnect",
      href: "https://fonts.gstatic.com",
      crossOrigin: "anonymous"
    },
    {
      rel: "stylesheet",
      href: "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&display=swap"
    }
  ];
}
function App() {
  return /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)("html", { lang: "zh-CN", children: [
    /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)("head", { children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)("meta", { charSet: "utf-8" }, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 79,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)("meta", { name: "viewport", content: "width=device-width,initial-scale=1" }, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 80,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(Meta, {}, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 81,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(Links, {}, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 82,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "app/root.tsx",
      lineNumber: 78,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)("body", { className: "font-sans", children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(Layout, { children: /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(Outlet, {}, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 86,
        columnNumber: 11
      }, this) }, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 85,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(ScrollRestoration, {}, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 88,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(Scripts, {}, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 89,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(LiveReload, {}, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 90,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "app/root.tsx",
      lineNumber: 84,
      columnNumber: 7
    }, this)
  ] }, void 0, true, {
    fileName: "app/root.tsx",
    lineNumber: 77,
    columnNumber: 10
  }, this);
}
_c5 = App;
function ErrorBoundary2() {
  _s4();
  const error = useRouteError();
  if (isRouteErrorResponse(error)) {
    return /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)("html", { lang: "zh-CN", children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)("head", { children: [
        /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(Meta, {}, void 0, false, {
          fileName: "app/root.tsx",
          lineNumber: 101,
          columnNumber: 11
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(Links, {}, void 0, false, {
          fileName: "app/root.tsx",
          lineNumber: 102,
          columnNumber: 11
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)("title", { children: [
          "\u9519\u8BEF ",
          error.status
        ] }, void 0, true, {
          fileName: "app/root.tsx",
          lineNumber: 103,
          columnNumber: 11
        }, this)
      ] }, void 0, true, {
        fileName: "app/root.tsx",
        lineNumber: 100,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)("body", { children: [
        /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(ErrorBoundary, { status: error.status, statusText: error.statusText, message: error.data?.message || "\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5" }, void 0, false, {
          fileName: "app/root.tsx",
          lineNumber: 106,
          columnNumber: 11
        }, this),
        /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(Scripts, {}, void 0, false, {
          fileName: "app/root.tsx",
          lineNumber: 108,
          columnNumber: 11
        }, this)
      ] }, void 0, true, {
        fileName: "app/root.tsx",
        lineNumber: 105,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "app/root.tsx",
      lineNumber: 99,
      columnNumber: 12
    }, this);
  }
  return /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)("html", { lang: "zh-CN", children: [
    /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)("head", { children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(Meta, {}, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 114,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(Links, {}, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 115,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)("title", { children: "\u610F\u5916\u9519\u8BEF" }, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 116,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "app/root.tsx",
      lineNumber: 113,
      columnNumber: 7
    }, this),
    /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)("body", { children: [
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(ErrorBoundary, { status: 500, statusText: "\u670D\u52A1\u5668\u9519\u8BEF", message: "\u670D\u52A1\u5668\u53D1\u751F\u4E86\u610F\u5916\u9519\u8BEF\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5" }, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 119,
        columnNumber: 9
      }, this),
      /* @__PURE__ */ (0, import_jsx_dev_runtime5.jsxDEV)(Scripts, {}, void 0, false, {
        fileName: "app/root.tsx",
        lineNumber: 121,
        columnNumber: 9
      }, this)
    ] }, void 0, true, {
      fileName: "app/root.tsx",
      lineNumber: 118,
      columnNumber: 7
    }, this)
  ] }, void 0, true, {
    fileName: "app/root.tsx",
    lineNumber: 112,
    columnNumber: 10
  }, this);
}
_s4(ErrorBoundary2, "oAgjgbJzsRXlB89+MoVumxMQqKM=", false, function() {
  return [useRouteError];
});
_c22 = ErrorBoundary2;
var _c5;
var _c22;
$RefreshReg$(_c5, "App");
$RefreshReg$(_c22, "ErrorBoundary");
window.$RefreshReg$ = prevRefreshReg;
window.$RefreshSig$ = prevRefreshSig;
export {
  ErrorBoundary2 as ErrorBoundary,
  App as default,
  links,
  meta
};
//# sourceMappingURL=/build/root-VWXSPXQP.js.map
