feat:碎片完善

This commit is contained in:
zhongyidian committed 2026-01-11 18:18:20 +08:00
1 parent ec7e8e2bd2
commit 046501705f
74 files changed
+1602 -172

No files matched your search

+5 -1
View File
@@ -13,7 +13,7 @@ import { getBackgroundImage, getPublicPath, getStaticImage } from "@/lib/utils";
import { SuccessAlert, DragQuizPanel } from "@/components/layout";
import { MultipleChoiceQuizPanel } from "@/components/layout/quiz";
import { GuideSteps, GuideStepsItem } from "@/components";
import { usePuzzleAnimation } from "@/contexts/PuzzleAnimationContext";
type QuizOption = {
value: string;
label: string;
@@ -100,6 +100,8 @@ const QUIZ_ANCHORS: QuizAnchor[] = [
const ChenyunInternalization = () => {
const navigate = useNavigate();
const { moduleName } = useParams<{ moduleName: string }>();
// 获取碎片动画触发方法
const { triggerPuzzleAnimation } = usePuzzleAnimation();
const [activeSuccess, setActiveSuccess] = useState<string | null>(null);
const [successContent, setSuccessContent] = useState<string>("");
const [resumeCallback, setResumeCallback] = useState<(() => void) | null>(
@@ -196,6 +198,7 @@ const ChenyunInternalization = () => {
onContinue={() => {
setActiveSuccess(null);
setSuccessContent("");
triggerPuzzleAnimation(16);
setDragQuizValues((prev) => {
const next = { ...prev };
delete next[item.id];
@@ -242,6 +245,7 @@ const ChenyunInternalization = () => {
if (isCorrect) {
setActiveSuccess(item.id);
setSuccessContent("回答正确,请继续探索。");
if (item.id === "quiz-1") triggerPuzzleAnimation(15);
setResumeCallback(() => resume);
}
}}