/** * 银元之战状态管理 Hook * 管理银元之战相关的所有状态 */ import { useState } from "react"; /** * 银元之战状态管理 Hook * @returns 银元之战的所有状态和更新函数 */ export const useYinyuanState = () => { // 多选题1相关状态 const [showQuiz1, setShowQuiz1] = useState(false); // 旁白文字状态(图2) const [showNarration2, setShowNarration2] = useState(false); const [narration2Text, setNarration2Text] = useState(""); // 多选题2相关状态 const [showQuiz2, setShowQuiz2] = useState(false); // 成功提示框状态 const [showSuccessAlert, setShowSuccessAlert] = useState(false); // 银元之战解决状态 const [isYinyuanSolved, setIsYinyuanSolved] = useState(false); // 走势图图标显示状态(控制文件上的走势图图标是否显示) const [showTrendChartIcon, setShowTrendChartIcon] = useState(true); // 走势图大图显示状态 const [showTrendChartDetail, setShowTrendChartDetail] = useState(false); // 三个引导提示框状态 const [showGuide1, setShowGuide1] = useState(false); // 前往解决按钮出现后的提示 const [showGuide2, setShowGuide2] = useState(false); // 走势图出现后的提示 const [showGuide3, setShowGuide3] = useState(false); // 走势图大图打开后的提示 // 记录是否已经显示过这些提示(避免重复显示) const [hasShownGuide1, setHasShownGuide1] = useState(false); const [hasShownGuide2, setHasShownGuide2] = useState(false); const [hasShownGuide3, setHasShownGuide3] = useState(false); return { // 题目相关状态 showQuiz1, setShowQuiz1, showQuiz2, setShowQuiz2, // 旁白相关状态 showNarration2, setShowNarration2, narration2Text, setNarration2Text, // 成功提示框状态 showSuccessAlert, setShowSuccessAlert, // 解决状态 isYinyuanSolved, setIsYinyuanSolved, // 走势图相关状态 showTrendChartIcon, setShowTrendChartIcon, showTrendChartDetail, setShowTrendChartDetail, // 引导提示状态 showGuide1, setShowGuide1, showGuide2, setShowGuide2, showGuide3, setShowGuide3, hasShownGuide1, setHasShownGuide1, hasShownGuide2, setHasShownGuide2, hasShownGuide3, setHasShownGuide3, }; };