"use client" import { X, MessageCircle, Users, Music } from "lucide-react" import { useStore } from "@/lib/store" import { Button } from "@/components/ui/button" import Image from "next/image" import { useState, useEffect } from "react" interface QRCodeModalProps { isOpen: boolean onClose: () => void } export function QRCodeModal({ isOpen, onClose }: QRCodeModalProps) { const { settings, getLiveQRCodeUrl } = useStore() const [isJoining, setIsJoining] = useState(false) const [qrCodeUrl, setQrCodeUrl] = useState("/images/party-group-qr.png") // Default fallback // Fetch config on mount useEffect(() => { const fetchConfig = async () => { try { const res = await fetch('/api/config') const data = await res.json() if (data.marketing?.partyGroup?.qrCode) { setQrCodeUrl(data.marketing.partyGroup.qrCode) } } catch (e) { console.error("Failed to load QR config", e) } } fetchConfig() }, []) if (!isOpen) return null const handleJoin = () => { setIsJoining(true) // 获取活码随机URL const url = getLiveQRCodeUrl("party-group") if (url) { window.open(url, "_blank") } setTimeout(() => setIsJoining(false), 1000) } return (
{/* iOS Style Modal */}
{/* Header Background Effect */}
{/* Icon Badge */}

Soul 创业派对

Live

{settings.authorInfo?.liveTime || "06:00-09:00"} · {settings.authorInfo?.name || "卡若"}

{/* QR Code Container - Enhanced Visibility */}
派对群二维码

扫码加入私域流量实战群
获取《私域运营100问》

) }