Walrus blob · mainnet
import { u as x, r as i, j as e, B as m, L as d, T as p, a as f } from "./index-CeMnqBop.js";
import { f as h, B as g } from "./Viewer-C8_fXgmn.js";
import { t as u } from "./analytics-DBAq2caw.js";
import "./pdfjs-DOFyr7qr.js";
import "./shareCrypto-_9-e0tA6.js";
import "./chevron-left-BEdjO5Qe.js";
import "./chevron-right-DgqGwI-L.js";
import "./zoom-out-DIiqd3aD.js";
import "./play-D2-hXg0X.js";
import "./printer-SM3UypB_.js";
function S() {
var _a, _b;
const { blobId: s } = x(), [t, l] = i.useState(null), [o, c] = i.useState(null);
return i.useEffect(() => {
if (!s) return;
let a = false;
l(null), c(null), u(s);
const n = new URLSearchParams(window.location.hash.replace(/^#/, "")).get("k");
return (async () => {
try {
const r = await h(s, n);
a || l(r);
} catch (r) {
console.error("[book] fetch failed", r), a || c("\u3053\u306E\u96FB\u5B50\u30D6\u30C3\u30AF\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u30EA\u30F3\u30AF\u304C\u7121\u52B9\u304B\u3001\u671F\u9650\u5207\u308C\u306E\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09\u3002");
}
})(), () => {
a = true;
};
}, [s]), e.jsxs("div", { className: "min-h-screen bg-gray-100 dark:bg-[#0b0b0d] text-gray-900 dark:text-gray-100 font-sans flex flex-col", children: [e.jsxs("header", { className: "px-4 sm:px-6 py-3 flex items-center justify-between border-b border-gray-200 dark:border-gray-800 bg-white/70 dark:bg-gray-900/70 backdrop-blur", children: [e.jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [e.jsx(m, { size: 18, className: "text-violet-500 shrink-0" }), e.jsx("span", { className: "font-semibold truncate", children: (t == null ? void 0 : t.title) ?? "\u96FB\u5B50\u30D6\u30C3\u30AF" })] }), e.jsx(d, { to: "/flipbook", className: "text-xs text-gray-500 hover:text-violet-600 whitespace-nowrap", children: "\u81EA\u5206\u3067\u4F5C\u308B \u2192" })] }), e.jsx("main", { className: "flex-1 p-3 sm:p-6 flex items-center justify-center", children: o ? e.jsxs("div", { className: "text-center text-gray-500 dark:text-gray-400 flex flex-col items-center gap-2", children: [e.jsx(p, { size: 28, className: "text-amber-500" }), e.jsx("p", { className: "text-sm max-w-xs", children: o })] }) : t ? e.jsx("div", { className: "w-full max-w-4xl h-[82vh]", children: e.jsx(g, { pages: t.pages, title: t.title, direction: ((_a = t.settings) == null ? void 0 : _a.direction) ?? "ltr", spreadMode: ((_b = t.settings) == null ? void 0 : _b.spread) ?? "auto" }) }) : e.jsxs("div", { className: "flex items-center gap-2 text-gray-400", children: [e.jsx(f, { size: 18, className: "animate-spin" }), " \u8AAD\u307F\u8FBC\u307F\u4E2D\u2026"] }) })] });
}
export {
S as default
};
On-chain registration not yet visible.
The aggregator served this blob, but we couldn't locate a matching BlobRegistered event in our scan window. It may not be certified yet, or live further back than we paged.
Lifecycle data is unavailable until the blob registration is visible on-chain.