+ {/* ── Preset & Binding Banner ── */}
+
+
+
+
+ 3D Interactive Turntable & Macro Zoom Showcase
+
+
+ แสดงผลสเตอร์/ชิ้นส่วน 360 องศาด้วย Sprite Sheet + Scroll Scrollytelling + ซูม Macro Detail อัตโนมัติ
+
+
+
+
+
+
+ {/* ── 1-Click Product Linking ── */}
+
+
+
+
+
ผูกกับสินค้าในระบบ (1-Click Bind Product)
+
+ {selectedProductId && (
+
+ Product ID: #{selectedProductId}
+
+ )}
+
+
+
+
+
+
+ เมื่อเลือกสินค้า ระบบจะดึงชื่อและตั้งค่าลิงก์ปุ่มสั่งซื้ออัตโนมัติ
+
+
+
+
+
updatePayloadValue('endCtaLink', e.target.value)}
+ placeholder="ลิงก์ปลายทางเมื่อกดสั่งซื้อ เช่น /products/chain-sprocket-p1"
+ className="admin-input flex-1 text-xs"
+ />
+ {endCtaLink && (
+
+
+
+ )}
+
+
+
+
+ {/* ── Visual Media Uploads (Sprite Sheet + Macro Detail) ── */}
+
+ {/* Sprite Sheet 16-Angles */}
+
+
+ {spriteSheetUrl ? (
+
+

+
+ {onBrowseMedia && (
+
+ )}
+
+
+ ) : (
+
onBrowseMedia && onBrowseMedia((url) => updatePayloadValue('spriteSheetUrl', url))}
+ className="aspect-video rounded-xl border border-dashed border-white/20 bg-black/40 flex flex-col items-center justify-center gap-2 cursor-pointer hover:border-lime-400 transition-colors"
+ >
+
+ คลิกเพื่อเลือกภาพ Sprite Sheet
+
+ )}
+
updatePayloadValue('spriteSheetUrl', e.target.value)}
+ placeholder="/images/3d/sprocket-views.png"
+ className="admin-input w-full text-xs font-mono"
+ />
+
+
+ {/* Macro Detail Shot */}
+
+
+ {detailImageUrl ? (
+
+

+
+ {onBrowseMedia && (
+
+ )}
+
+
+ ) : (
+
onBrowseMedia && onBrowseMedia((url) => updatePayloadValue('detailImageUrl', url))}
+ className="aspect-video rounded-xl border border-dashed border-white/20 bg-black/40 flex flex-col items-center justify-center gap-2 cursor-pointer hover:border-lime-400 transition-colors"
+ >
+
+ คลิกเพื่อเลือกภาพ Macro Detail
+
+ )}
+
updatePayloadValue('detailImageUrl', e.target.value)}
+ placeholder="/images/3d/sprocket-detail.png"
+ className="admin-input w-full text-xs font-mono"
+ />
+
+
+
+ {/* ── Headline & Intro Texts ── */}
+
+
+ ข้อความหัวเรื่อง (Header & Intro)
+
+
+
+
+
+
+ updatePayloadValue('title', e.target.value)}
+ className="admin-input w-full text-xs"
+ placeholder="เหล็กหนึ่งชิ้น ที่เล่าได้ทุกองศา"
+ />
+
+
+
+
+
+
+
+ {/* ── Macro Zoom Detail Overlay Texts ── */}
+
+
+
+ ข้อความส่วนซูม Macro Detail (แสดงเมื่อเลื่อนจอลงถึงช่วงท้าย)
+
+
+
+
+
+
+
+
+
+ {/* ── 3-Spec Highlights Grid ── */}
+
+
+ จุดเด่นด้านสมรรถนะ 3 หัวข้อ (Technical Pillars)
+
+
+
+ {rawSpecs.map((spec, idx) => (
+
+ ))}
+
+
+
+ {/* ── Theme & CTA Config ── */}
+
+
+
+
+
+ updatePayloadValue('endCtaTitle', e.target.value)}
+ className="admin-input w-full text-xs"
+ placeholder="พร้อมยกระดับสมรรถนะการขับขี่?"
+ />
+
+
+
+
+ updatePayloadValue('endCtaButtonText', e.target.value)}
+ className="admin-input w-full text-xs"
+ placeholder="สั่งซื้อสินค้าตอนนี้"
+ />
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/apps/admin/src/pages/PageBuilderPage.tsx b/apps/admin/src/pages/PageBuilderPage.tsx
index de7fefd..64e965a 100644
--- a/apps/admin/src/pages/PageBuilderPage.tsx
+++ b/apps/admin/src/pages/PageBuilderPage.tsx
@@ -33,6 +33,7 @@ import { getAuthHeaders } from '../utils/auth';
import CinematicStoryScrollForm from '../components/page-builder/CinematicStoryScrollForm';
import AppleShowcaseForm from '../components/page-builder/AppleShowcaseForm';
+import Interactive360ShowcaseForm from '../components/page-builder/Interactive360ShowcaseForm';
import HeroForm from '../components/page-builder/HeroForm';
import AnnouncementBarForm from '../components/page-builder/AnnouncementBarForm';
import NewsletterForm from '../components/page-builder/NewsletterForm';
@@ -1469,6 +1470,7 @@ export default function PageBuilderPage() {
onChange={(e) => handleTypeChange(e.target.value)}
className="admin-input w-full bg-slate-900 border-white/10"
>
+