UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

98 lines (95 loc) • 2.26 kB
import * as React from "react"; import { usePathname, useRouter } from "../hooks.mjs"; import { Link } from "../link/Link.mjs"; import { Fragment, jsx, jsxs } from "react/jsx-runtime"; function NoSSR({ children }) { const [render, setRender] = React.useState(false); React.useEffect(() => { setRender(true); }, []); return render ? /* @__PURE__ */ jsx(Fragment, { children }) : null; } function CurrentURL() { return /* @__PURE__ */ jsx(Fragment, { children: window.location.href }); } function Unmatched() { const router = useRouter(); const pathname = usePathname(); return /* @__PURE__ */ jsxs("main", { style: { minHeight: "100vh", boxSizing: "border-box", display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", backgroundColor: "black", color: "white", padding: 24, textAlign: "center" }, children: [ /* @__PURE__ */ jsx("h1", { style: { fontSize: 36, paddingBottom: 12, margin: "0 0 12px", borderBottom: "1px solid #323232" }, children: "Unmatched Route" }), /* @__PURE__ */ jsxs("p", { style: { fontSize: 18, margin: "0 0 12px" }, children: [ "Page could not be found.", " ", /* @__PURE__ */ jsx("button", { type: "button", onClick: () => { if (router.canGoBack()) { router.back(); } else { router.replace("/"); } }, style: { appearance: "none", border: 0, padding: 0, background: "transparent", color: "rgba(255,255,255,0.6)", cursor: "pointer", font: "inherit", textDecoration: "underline" }, children: "Go back." }) ] }), /* @__PURE__ */ jsx(NoSSR, { children: /* @__PURE__ */ jsx(Link, { href: pathname, replace: true, style: { color: "rgba(255,255,255,0.4)", textAlign: "center" }, children: /* @__PURE__ */ jsx(CurrentURL, {}) }) }), /* @__PURE__ */ jsx(Link, { href: "/_sitemap", replace: true, style: { color: "rgba(255,255,255,0.4)", marginTop: 8, textAlign: "center" }, children: "Sitemap" }) ] }); } export { Unmatched }; //# sourceMappingURL=Unmatched.mjs.map