"use client"; import { useState, useEffect } from "react"; import Link from "next/link"; import { COMMUNITY_CONFIG } from "@/config/course"; import { isPaid } from "@/app/lib/payment"; export function CommunityButton() { const [open, setOpen] = useState(false); const [paid, setPaid] = useState(false); useEffect(() => { setPaid(isPaid()); const onPay = () => setPaid(isPaid()); window.addEventListener("pay:updated", onPay); return () => window.removeEventListener("pay:updated", onPay); }, []); useEffect(() => { const onKeyDown = (e: KeyboardEvent) => { if (e.key === "Escape") setOpen(false); }; if (open) { window.addEventListener("keydown", onKeyDown); document.body.style.overflow = "hidden"; } return () => { window.removeEventListener("keydown", onKeyDown); document.body.style.overflow = ""; }; }, [open]); if (!COMMUNITY_CONFIG.enabled || !COMMUNITY_CONFIG.wechat) return null; return ( <> {open && (
setOpen(false)} >
e.stopPropagation()} >
{paid ? (
💬

加入数字游民社群

与导师、同学一起交流,获取持续支持与灵感

社群二维码 { const target = e.target as HTMLImageElement; target.style.display = "none"; const fallback = target.parentElement?.querySelector(".qr-fallback"); if (fallback) (fallback as HTMLElement).classList.remove("hidden"); }} />
📱 请配置社群二维码 config/course.ts → qrCodeUrl

长按识别二维码加入

) : (
🔒

报名后解锁社群

完成课程报名后,即可加入专属社群,与导师、同学交流答疑

setOpen(false)} > 立即报名
)}
)} ); }