"use client" import * as React from "react" import Image from "next/image" import { motion } from "motion/react" import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar" export interface RedEnvelopeCardProps { status: "preview" | "ready" | "opening" coverImage?: string | null heterotypicImage?: string | null greeting?: string sender?: { username?: string avatar_url?: string } onOpen?: () => void amount?: string className?: string } export function RedEnvelopeCard({ status, coverImage, greeting, sender, onOpen, className }: RedEnvelopeCardProps) { // 预览模式下不播放入场动画 const isPreview = status === "preview" return ( {/* 上半部分 */}
{/* 自定义背景封面 */} {coverImage ? (
红包封面 {/* 半透明遮罩以确保内容可读 */}
) : null} {/* 用户信息 */}
{sender?.username?.charAt(0).toUpperCase()} {sender?.username || '你'} 的红包 {greeting || "新年快乐,恭喜发财"}
{/* 开启按钮 */}
{status === "opening" && (
)} 開
) }