feat: add puzzle residence configuration and reflection progress logic

- Introduced `puzzleResidences.ts` to define puzzle residence configurations including properties like display name, position, and puzzle availability.
- Added `reflectionProgress.ts` to manage badge unlocking logic based on place completion, including functions to determine unlocked badges and video sources for scenes.
This commit is contained in:
zhongyidian committed 2026-04-27 11:49:30 +08:00
1 parent e0fa47d21a
commit f5f36f75b5
153 files changed
+3846 -2352

No files matched your search

+9 -2
View File
@@ -9,6 +9,7 @@ export interface LetterToChenyunProps {
showVideo?: boolean
videoSrc?: string
replyImageSrc?: string
replyVideoSrc?: string
}
const letterContent = `敬爱的陈云爷爷:
@@ -31,7 +32,11 @@ const fields: Record<number, LetterFieldConfig> = {
type: 'input',
maxLength: 12,
widthClassName: 'w-[120px]',
readOnlyFallback: '勤学钻研',
correctValue: '实',
readOnlyFallback: '实',
hints: {
error: '“不唯上、不唯书、只唯实”是陈云提出的著名方法论原则。',
},
},
2: {
type: 'input',
@@ -62,6 +67,7 @@ const LetterToChenyun = ({
showVideo = true,
videoSrc = 'video/letter/neihua_jixin.mp4',
replyImageSrc = 'components/letter/点击信详情-陈云',
replyVideoSrc = 'video/letter/chenyun_gaizhang.mp4',
}: LetterToChenyunProps) => {
return (
<LetterTemplate
@@ -69,12 +75,13 @@ const LetterToChenyun = ({
onClose={onClose}
onSubmit={onSubmit}
onAnimationEnd={onAnimationEnd}
title="寄给陈云的信"
title="写给陈云爷爷的信"
letterContent={letterContent}
fields={fields}
audioSrc={audioSrc}
showVideo={showVideo}
videoSrc={videoSrc}
replyVideoSrc={replyVideoSrc}
replyImageSrc={replyImageSrc}
/>
)