UNPKG

@wener/console

Version:

Base console UI toolkit

55 lines (54 loc) 2.61 kB
import React from "react"; import { HiArrowLeft, HiArrowPath, HiHome, HiOutlineExclamationCircle } from "react-icons/hi2"; import { useInRouterContext, useNavigate, useRouteError } from "react-router-dom"; import { Button, NonIdealState } from "../../../daisy/index.js"; export const PageErrorState = ({ error, onReset, title = "\u9875\u9762\u51FA\u9519\u5566!" }) => { const inRouterContext = useInRouterContext(); let navigate = (v) => { typeof v === "string" ? window.location.href = v : window.history.back(); }; if (inRouterContext) { navigate = useNavigate(); const routerError = useRouteError(); error ||= routerError; } return /*#__PURE__*/ React.createElement(NonIdealState, { icon: /*#__PURE__*/ React.createElement(HiOutlineExclamationCircle, { className: "h-12 w-12" }), title: title, description: /*#__PURE__*/ React.createElement("div", null, /*#__PURE__*/ React.createElement("div", null, "\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u6216\u5237\u65B0\u9875\u9762"), /*#__PURE__*/ React.createElement("details", null, /*#__PURE__*/ React.createElement("summary", null, "\u67E5\u770B\u8BE6\u7EC6\u9519\u8BEF"), /*#__PURE__*/ React.createElement("pre", null, String(error)))), action: /*#__PURE__*/ React.createElement("div", { className: "flex gap-2 opacity-95" }, onReset && /*#__PURE__*/ React.createElement(Button, { className: "btn-outline btn-sm", onClick: () => { onReset(); } }, /*#__PURE__*/ React.createElement(HiArrowPath, { className: "h-4 w-4" }), "\u91CD\u7F6E"), /*#__PURE__*/ React.createElement(Button, { className: "btn-outline btn-sm", onClick: () => { navigate("/"); } }, /*#__PURE__*/ React.createElement(HiHome, { className: "h-4 w-4" }), "\u9996\u9875"), /*#__PURE__*/ React.createElement(Button, { className: "btn-outline btn-sm", onClick: () => { navigate(-1); } }, /*#__PURE__*/ React.createElement(HiArrowLeft, { className: "h-4 w-4" }), "\u8FD4\u56DE"), /*#__PURE__*/ React.createElement(Button, { className: "btn-outline btn-sm", onClick: () => { window.location.reload(); } }, /*#__PURE__*/ React.createElement(HiArrowPath, { className: "h-4 w-4" }), "\u5237\u65B0")) }); }; //# sourceMappingURL=PageErrorState.js.map