"use client" import { useState, useEffect } from "react" import Link from "next/link" import { ChevronLeft, Copy, Share2, Users, Wallet, MessageCircle, ImageIcon } from "lucide-react" import { Button } from "@/components/ui/button" import { useStore, type Purchase } from "@/lib/store" import { PosterModal } from "@/components/modules/referral/poster-modal" import { WithdrawalModal } from "@/components/modules/referral/withdrawal-modal" export default function ReferralPage() { const { user, isLoggedIn, settings, getAllPurchases, getAllUsers } = useStore() const [copied, setCopied] = useState(false) const [showPoster, setShowPoster] = useState(false) const [showWithdrawal, setShowWithdrawal] = useState(false) const [referralPurchases, setReferralPurchases] = useState([]) const [referralUsers, setReferralUsers] = useState(0) useEffect(() => { if (user?.referralCode) { const allPurchases = getAllPurchases() const allUsers = getAllUsers() const usersWithMyCode = allUsers.filter((u) => u.referredBy === user.referralCode) const userIds = usersWithMyCode.map((u) => u.id) const myReferralPurchases = allPurchases.filter((p) => userIds.includes(p.userId)) setReferralPurchases(myReferralPurchases) setReferralUsers(usersWithMyCode.length) } }, [user, getAllPurchases, getAllUsers]) if (!isLoggedIn || !user) { return (

请先登录

返回首页
) } const referralLink = `${typeof window !== "undefined" ? window.location.origin : ""}?ref=${user.referralCode}` const distributorShare = settings?.distributorShare || 90 const totalEarnings = user.earnings || 0 const pendingEarnings = user.pendingEarnings || 0 const handleCopy = () => { navigator.clipboard.writeText(referralLink) setCopied(true) setTimeout(() => setCopied(false), 2000) } const handleShare = async () => { const shareText = `我正在读《一场SOUL的创业实验场》,每天6-9点的真实商业故事,推荐给你!${referralLink}` try { if (typeof navigator.share === 'function' && typeof navigator.canShare === 'function') { await navigator.share({ title: "一场SOUL的创业实验场", text: "来自Soul派对房的真实商业故事", url: referralLink, }) } else { await navigator.clipboard.writeText(shareText) alert("分享文案已复制,快去朋友圈或Soul派对分享吧!") } } catch { await navigator.clipboard.writeText(shareText) alert("分享文案已复制!") } } const handleShareToWechat = async () => { const shareText = `📖 推荐一本好书《一场SOUL的创业实验场》 这是卡若每天早上6-9点在Soul派对房分享的真实商业故事,55个真实案例,讲透创业的底层逻辑。 👉 点击阅读: ${referralLink} #创业 #商业思维 #Soul派对` await navigator.clipboard.writeText(shareText) alert("朋友圈文案已复制!\n\n打开微信 → 发朋友圈 → 粘贴即可") } const handleShareToSoul = async () => { const shareText = `在Soul派对房听卡若讲了好多真实的创业故事,他把这些故事整理成了一本书《一场SOUL的创业实验场》,推荐给你们~ 每天早上6-9点直播,这本书就是直播内容的精华版。 链接: ${referralLink}` await navigator.clipboard.writeText(shareText) alert("Soul分享文案已复制!\n\n打开Soul → 发动态 → 粘贴即可") } return (
{/* Header */}

分销中心

{/* Earnings Card */}
累计收益
{distributorShare}%返利

¥{totalEarnings.toFixed(2)}

待结算: ¥{pendingEarnings.toFixed(2)}

{/* Stats */}

{referralUsers}

邀请人数

{referralPurchases.length}

成交订单

{/* Referral link */}

我的专属链接

{referralLink}

邀请码: {user.referralCode}

{/* Share buttons - improved for WeChat/Soul */}
setShowPoster(false)} referralLink={referralLink} referralCode={user.referralCode} nickname={user.nickname} /> setShowWithdrawal(false)} availableAmount={totalEarnings} /> {/* Recent earnings */} {referralPurchases.length > 0 && (

收益明细

{referralPurchases.slice(0, 5).map((purchase) => (

{purchase.type === "fullbook" ? "整本书" : "单节"}

{new Date(purchase.createdAt).toLocaleDateString("zh-CN")}

+¥{(purchase.referrerEarnings || 0).toFixed(2)}

))}
)}
) }