'use client' import {Suspense, use, useMemo} from 'react' import {Schema} from '@/components/composites/purchase/short/form' import {RadioGroup} from '@/components/ui/radio-group' import {FormField} from '@/components/ui/form' import FormOption from '@/components/composites/purchase/option' import Image from 'next/image' import alipay from '../_assets/alipay.svg' import wechat from '../_assets/wechat.svg' import balance from '../_assets/balance.svg' import {useProfileStore} from '@/components/stores/profile' import RechargeModal from '@/components/composites/recharge' import {buttonVariants} from '@/components/ui/button' import Link from 'next/link' import {merge} from '@/lib/utils' import Pay from '@/components/composites/purchase/pay' import {useFormContext, useWatch} from 'react-hook-form' import {Card} from '@/components/ui/card' export default function Right() { const {control} = useFormContext() const method = useWatch({control, name: 'pay_type'}) const live = useWatch({control, name: 'live'}) const mode = useWatch({control, name: 'type'}) const dailyLimit = useWatch({control, name: 'daily_limit'}) const expire = useWatch({control, name: 'expire'}) const quota = useWatch({control, name: 'quota'}) const price = useMemo(() => { const base = live === '180' ? 150 : Number(live) const factor = { 1: Number(expire) * dailyLimit, 2: quota, }[mode] return (base * factor / 30000).toFixed(2) }, [dailyLimit, expire, live, quota, mode]) return (

订单详情

价格 ¥ {price}

) } function BalanceOrLogin(props: { method: 'wechat' | 'alipay' | 'balance' price: string mode: string live: string quota: number expire: string dailyLimit: number }) { const profile = use(useProfileStore(store => store.profile)) return profile ? ( <> {({id, field}) => (

余额icon 账户余额

{profile.balance}

余额 icon 余额 微信 logo 微信 支付宝 logo 支付宝
)}
) : ( 登录后支付 ) }