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
};