import { useState } from "react"; import { AnimatePresence, motion } from "framer-motion"; import { getStaticImage } from "@/lib/utils"; import { Image } from "@/components"; export interface LetterToLuxunProps { /** 是否可见 */ visible?: boolean; /** 关闭回调 */ onClose?: () => void; /** 提交回调 */ onSubmit?: (values: string[]) => void; } /** * LetterToLuxun 组件 - 写给鲁迅先生的信 * 包含飞入和放大动画 */ const LetterToLuxun = ({ visible = false, onClose, onSubmit, }: LetterToLuxunProps) => { // 下划线可填写内容 const [blankValues, setBlankValues] = useState([]); // 信件内容模板(根据设计稿) const letterContent = `敬爱的鲁迅先生: 您好! 今天,我怀着崇敬的心情走进大陆新村9号,看着您亲手撰写的《呐喊》《且介亭杂文》《故事新编》等作品,您编辑的《萌芽》《前哨》等杂志,您翻译的《艺术论》《死魂灵》等译文,仿佛能看到您"舌将上下而求索"的身影。在这场跨越时空的对话中,我终于明白您坚守的"____",不是抽象的理念,而是我们安身立命的根本;您秉持的"____",不是无谓的锋芒,而是我们直面现实的勇气。 我是____专业的学生,今后,我会以您"____干夫指"的骨气,在是非面前坚守立场,不随波逐流;我会以您"俯首甘为____"的热忱,参与____活动,用微光温暖他人;我更会记住您"____,走的人多了,便成了路"的箴言,在专业领域勇于探索,努力用____为民族复兴、文化繁荣添砖加瓦。 请您放心,您播下的"立人"火种,我们会让它在新时代燎原;您毕生追求的"人国"愿景,我们会用青春和奋斗去守护!`; return ( {visible && ( <> {/* 遮罩层 */} {/* 信件容器 */}
e.stopPropagation()} > {/* 信纸背景 */} 信纸 {/* 标题 - 垂直显示在左侧 */}
写给鲁迅先生的信
{/* 信件内容区域 */}
{(() => { let placeholderIndex = 0; return letterContent.split("\n").map((line, lineIndex) => { const segments = line.split("____"); return (
{segments.map((part, partIndex) => { const isLast = partIndex === segments.length - 1; if (isLast) { return ( {part} ); } const currentIndex = placeholderIndex++; return ( {part} { const next = [...blankValues]; next[currentIndex] = e.target.value; setBlankValues(next); }} /> ); })}
); }); })()}
{/* 笔的图片 */}
笔
{/* 提交按钮 */}
可提交状态 onSubmit?.(blankValues)} button />
{/* 寄信图标(可选,如果需要的话) */}
寄信
)}
); }; export default LetterToLuxun;