/* ============================================================ * mounting.jsx — Background / mounting scenes * ============================================================ */ const MOUNTS = [ { id: "felt", name: "毛毡", shape: "default" }, { id: "wood", name: "木桌", shape: "default" }, { id: "xuan", name: "宣纸", shape: "default" }, { id: "phone", name: "手机壳", shape: "tall" }, { id: "frame", name: "画框", shape: "default" }, { id: "basket", name: "竹篮", shape: "square" }, { id: "tea", name: "茶席", shape: "wide" }, { id: "plainW", name: "纯白", shape: "default" }, { id: "plainB", name: "纯黑", shape: "default" }, { id: "trans", name: "透明", shape: "default" }, ]; function MountFelt() { return (
{/* Fiber overlay */} {/* tiny tea bowl detail (top right) */}
); } function MountWood() { return (
); } function MountXuan() { return (
{/* subtle fibers */}
); } function MountPhone({ children }) { // A transparent phone case overlay return (
{/* Phone body */}
{/* Camera island */}
{children}
); } function MountFrame({ children }) { return (
{children}
); } function MountBasket({ children }) { return (
{children}
); } function MountTea() { return (
{/* horizontal weave lines */} {Array.from({length: 60}).map((_, i) => ( ))} {/* tea cup hint */}
); } function MountPlainW() { return
; } function MountPlainB() { return
; } function MountTrans() { // checkered background return (
); } function MountScene({ kind, children }) { // For phone / frame / basket -- they overlay the strip in their layout if (kind === "phone") return {children}; if (kind === "frame") return {children}; if (kind === "basket") return {children}; // For others: bg then children centered on top const Bg = { felt: MountFelt, wood: MountWood, xuan: MountXuan, tea: MountTea, plainW: MountPlainW, plainB: MountPlainB, trans: MountTrans, }[kind] || MountFelt; return ( <>
{children}
); } Object.assign(window, { MountScene, MOUNTS });