/* Vision Demo pages — โหลดหลัง app.jsx (ใช้ navigate/NotFoundPage global) ก่อน pages-w3.jsx */ function VisionPage({ t, k, toast }) { const html = (window.VISION_HTML || {})[k]; const ref = React.useRef(null); React.useEffect(() => { const el = ref.current; if (!el) return; const on = (e) => { const g = e.target.closest("[data-go]"); if (g) { const v = g.getAttribute("data-go"); navigate(v === "dashboard" ? "/app" : v === "trades" ? "/app/trades" : "/app/vision/" + v); return; } if (e.target.closest(".vd-btn")) toast("◆ VISION DEMO — ฟีเจอร์นี้อยู่ใน roadmap · ข้อมูลเป็นตัวอย่าง"); }; el.addEventListener("click", on); return () => el.removeEventListener("click", on); }, [k]); React.useEffect(() => { window.scrollTo(0, 0); }, [k]); React.useEffect(() => { if (k !== "overview" || !ref.current) return; const MAP = { "AI Insight": "insight", "Tiltmeter": "tilt", "LINE / Telegram": "notify", "Verified Badge": "verified", "Leaderboard": "leaderboard", "Ranking": "ranking", "รีวิว EA / Tools": "tools", "Broker Review": "broker", "Economic Calendar": "calendar" }; ref.current.querySelectorAll(".vd-card").forEach((c) => { const titles = [...c.querySelectorAll("div")].map((d) => d.textContent.trim()); for (const t2 in MAP) { if (titles.indexOf(t2) !== -1) { c.setAttribute("data-go", MAP[t2]); c.style.cursor = "pointer"; break; } } }); const tour = [...ref.current.querySelectorAll(".vd-btn")].find((b) => b.textContent.indexOf("เริ่มทัวร์") !== -1); if (tour) tour.setAttribute("data-go", "insight"); }, [k]); if (!html) return ; return
✦ Roadmap · ข้อมูลจำลอง
; } /* VisionEmbed — ฝัง fragment ในหน้าแอปจริง (ใช้รวม AI Insight เข้าหน้าอินไซต์) */ function VisionEmbed({ k, toast }) { const html = (window.VISION_HTML || {})[k]; const ref = React.useRef(null); React.useEffect(() => { const el = ref.current; if (!el) return; const on = (e) => { const g = e.target.closest("[data-go]"); if (g) { const v = g.getAttribute("data-go"); navigate(v === "dashboard" ? "/app" : v === "trades" ? "/app/trades" : "/app/vision/" + v); return; } if (e.target.closest(".vd-btn")) toast("◆ VISION DEMO — ฟีเจอร์นี้อยู่ใน roadmap · ข้อมูลเป็นตัวอย่าง"); }; el.addEventListener("click", on); return () => el.removeEventListener("click", on); }, [k]); if (!html) return null; return
✦ Roadmap · ข้อมูลจำลอง
; } /* ---- การ์ด vision แทรกตามบริบทบนหน้าภาพรวม (มติคุณเอก) ---- */ function VChip() { return ✦ VISION; } function VCard({ to, style, children }) { return
navigate(to)} onKeyDown={(e) => { if (e.key === "Enter") navigate(to); }} style={Object.assign({ cursor: "pointer", border: "1px solid var(--brand-edge)", boxShadow: "0 4px 16px rgba(109,59,240,.08)" }, style)}>{children}
; } function VisionAIStrip() { return
AI Insight: คุณชนะ 75% ที่ XAUUSD ช่วงลอนดอน แต่เสีย 80% หลังเที่ยงคืน — หยุดเทรดหลัง 23:00 เดือนนี้พอร์ตจะ +12%
ดูอินไซต์ทั้ง 5 →
; } function VisionTiltCard() { return
Tiltmeter — วันนี้
72
เริ่มร้อน · ค่าเฉลี่ย 7 วัน = 44 · แตะดูตัวประกอบ +39 แต้มวันนี้
; } function VisionNewsCard() { return
ข่าวแรงถัดไป
อีก 45 นาที
Non-Farm Payrolls USD · 19:30
Impact สูง — XAUUSD/US30 เหวี่ยงแรง · เตือนผ่าน LINE เปิดอยู่ ✓
; } function VisionRankStrip() { return
คุณอยู่อันดับ #7 จาก 2,847 พอร์ต · Top 18% ของเทรดเดอร์ทั้งหมด
ดู Leaderboard →
; }