Walrus blob · mainnet
import { c as r, j as s, e as c } from "./index--MRAp5qS.js";
import { G as p } from "./globe-BLfVPKtC.js";
import { M as d } from "./map-pin--DfSggUR.js";
import { I as m } from "./image-BbLfcu_J.js";
import { C as u } from "./chevron-right-DadXz7Km.js";
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const h = r("Box", [["path", { d: "M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z", key: "hh9hay" }], ["path", { d: "m3.3 7 8.7 5 8.7-5", key: "g66t2b" }], ["path", { d: "M12 22V12", key: "d0xqtd" }]]);
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const o = r("Link", [["path", { d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71", key: "1cjeqo" }], ["path", { d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71", key: "19qd67" }]]);
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const f = r("MessageCircle", [["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }]]);
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const b = r("Phone", [["path", { d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z", key: "foiqr5" }]]);
/**
* @license lucide-react v0.469.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const x = r("Video", [["path", { d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5", key: "ftymec" }], ["rect", { x: "2", y: "6", width: "14", height: "12", rx: "2", key: "158x01" }]]), S = [{ id: "doc", label: "\u8CC7\u6599\u30FB\u30DE\u30A4\u30BD\u30AF" }, { id: "photo", label: "\u5199\u771F\u30FB\u30A2\u30EB\u30D0\u30E0" }, { id: "video", label: "\u52D5\u753B" }, { id: "vr", label: "VR\u30FB360\xB0" }, { id: "map", label: "\u5730\u56F3\u30FB\u30A2\u30AF\u30BB\u30B9" }, { id: "web", label: "Web\u30B5\u30A4\u30C8" }, { id: "tel", label: "\u96FB\u8A71" }, { id: "line", label: "LINE" }, { id: "other", label: "\u305D\u306E\u4ED6" }];
let y = 0;
const g = (e = "l") => `${e}_${Date.now().toString(36)}_${y++}`;
function _() {
return { v: 1, title: "", subtitle: "", accent: "#b9975b", links: [], company: "", tel: "", note: "" };
}
function v(e) {
return btoa(unescape(encodeURIComponent(e))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
}
function k(e) {
const n = e.replace(/-/g, "+").replace(/_/g, "/"), t = n.length % 4 ? "=".repeat(4 - n.length % 4) : "";
return decodeURIComponent(escape(atob(n + t)));
}
function w(e) {
const n = { v: 1, t: e.title, s: e.subtitle || void 0, a: e.accent, c: e.company || void 0, p: e.tel || void 0, n: e.note || void 0, l: (e.links ?? []).map((t) => ({ k: t.type, b: t.label, u: t.url, o: t.note || void 0 })) };
return v(JSON.stringify(n));
}
function A(e) {
try {
const n = e.replace(/^#/, "");
if (!n) return null;
const t = JSON.parse(k(n));
return !t || typeof t != "object" ? null : { v: 1, title: typeof t.t == "string" ? t.t : "", subtitle: typeof t.s == "string" ? t.s : "", accent: typeof t.a == "string" ? t.a : "#b9975b", company: typeof t.c == "string" ? t.c : "", tel: typeof t.p == "string" ? t.p : "", note: typeof t.n == "string" ? t.n : "", links: Array.isArray(t.l) ? t.l.map((l) => ({ id: g(), type: (l == null ? void 0 : l.k) ?? "other", label: typeof (l == null ? void 0 : l.b) == "string" ? l.b : "", url: typeof (l == null ? void 0 : l.u) == "string" ? l.u : "", note: typeof (l == null ? void 0 : l.o) == "string" ? l.o : void 0 })) : [] };
} catch {
return null;
}
}
function C(e, n) {
const t = typeof window < "u" ? window.location.origin : "", l = n ? `?s=${encodeURIComponent(n)}` : "";
return `${t}/p${l}#${w(e)}`;
}
function q() {
return `pt_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 8)}`;
}
const j = { doc: c, photo: m, video: x, vr: h, map: d, web: p, tel: b, line: f, other: o };
function N(e) {
const n = (e.url ?? "").trim();
return e.type === "tel" ? n.startsWith("tel:") ? n : `tel:${n.replace(/[^\d+]/g, "")}` : n ? !/^https?:\/\//i.test(n) && !n.startsWith("tel:") && !n.startsWith("mailto:") ? `https://${n}` : n : "#";
}
function R({ doc: e, framed: n = false }) {
const t = (e == null ? void 0 : e.accent) || "#b9975b", l = ((e == null ? void 0 : e.links) ?? []).filter((a) => (a.label ?? "").trim() || (a.url ?? "").trim());
return s.jsx("div", { className: n ? "mx-auto w-full max-w-[420px]" : "min-h-screen w-full flex justify-center", style: { background: n ? "transparent" : "#f6f5f2" }, children: s.jsxs("div", { className: "w-full max-w-[420px] px-5 py-8", style: { fontFamily: "'Noto Sans JP', sans-serif" }, children: [s.jsxs("div", { className: "text-center mb-6", children: [s.jsx("div", { className: "mx-auto mb-4 h-1 w-12 rounded-full", style: { background: t } }), s.jsx("h1", { className: "text-xl font-bold text-slate-800 leading-snug", style: { fontFamily: "'Noto Serif JP', serif" }, children: (e == null ? void 0 : e.title) || "\u7269\u4EF6\u30DD\u30FC\u30BF\u30EB" }), (e == null ? void 0 : e.subtitle) ? s.jsx("p", { className: "text-sm text-slate-500 mt-1.5", children: e.subtitle }) : null] }), s.jsxs("div", { className: "space-y-2.5", children: [l.length === 0 && s.jsx("p", { className: "text-center text-slate-400 text-sm py-8", children: "\u30EA\u30F3\u30AF\u304C\u307E\u3060\u3042\u308A\u307E\u305B\u3093" }), l.map((a) => {
const i = j[a.type] ?? o;
return s.jsxs("a", { href: N(a), target: a.type === "tel" ? void 0 : "_blank", rel: "noopener noreferrer", className: "flex items-center gap-3 bg-white rounded-xl border border-slate-200 px-4 py-3.5 shadow-sm hover:shadow-md hover:border-slate-300 active:scale-[0.99] transition-all", children: [s.jsx("span", { className: "shrink-0 w-9 h-9 rounded-lg flex items-center justify-center text-white", style: { background: t }, children: s.jsx(i, { size: 18 }) }), s.jsxs("span", { className: "flex-1 min-w-0", children: [s.jsx("span", { className: "block font-bold text-slate-800 text-[15px] truncate", children: a.label || a.url }), a.note ? s.jsx("span", { className: "block text-xs text-slate-400 truncate", children: a.note }) : null] }), s.jsx(u, { size: 18, className: "text-slate-300 shrink-0" })] }, a.id);
})] }), ((e == null ? void 0 : e.company) || (e == null ? void 0 : e.tel) || (e == null ? void 0 : e.note)) && s.jsxs("div", { className: "mt-8 pt-5 border-t border-slate-200 text-center space-y-1", children: [(e == null ? void 0 : e.company) ? s.jsx("p", { className: "text-sm font-bold text-slate-700", children: e.company }) : null, (e == null ? void 0 : e.tel) ? s.jsx("a", { href: `tel:${(e.tel || "").replace(/[^\d+]/g, "")}`, className: "text-sm font-bold", style: { color: t }, children: e.tel }) : null, (e == null ? void 0 : e.note) ? s.jsx("p", { className: "text-[11px] text-slate-400 mt-2 whitespace-pre-wrap", children: e.note }) : null] })] }) });
}
export {
S as L,
R as P,
C as b,
A as d,
_ as e,
q as n,
g as u
};
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.