-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GameOverPage-Ayan #175
GameOverPage-Ayan #175
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -1,5 +1,5 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import { Box, CardContent, Typography, CircularProgress } from "@mui/material"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import { createRef, useState } from "react"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import { createRef, useState, useEffect } from "react"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import v11 from "../../assets/audio/V10.mp3"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import VoiceAnalyser from "../../utils/VoiceAnalyser"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import { PlayAudioButton, StopAudioButton } from "../../utils/constants"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -53,6 +53,29 @@ const WordsOrImage = ({ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const [isReady, setIsReady] = useState(false); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const [isPlaying, setIsPlaying] = useState(false); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const [storedData, setStoredData] = useState([]); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
//console.log('wordsORimage', words, storedData); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const updateStoredData = (audio, isCorrect) => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if (audio && words) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const newEntry = { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
selectedAnswer: words, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
audioUrl: audio, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
correctAnswer: isCorrect, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
setStoredData((prevData) => [...prevData, newEntry]); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const resetStoredData = () => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
setStoredData([]); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
useEffect(() => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
updateStoredData(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}, [handleNext]); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+60
to
+78
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Optimize The Consider modifying the -useEffect(() => {
- updateStoredData();
-}, [handleNext]);
+useEffect(() => {
+ if (handleNext) {
+ updateStoredData();
+ }
+}, [handleNext, updateStoredData]); This change ensures that 📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const togglePlayPause = () => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if (isPlaying) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -72,6 +95,9 @@ const WordsOrImage = ({ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enableNext={enableNext} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
showTimer={showTimer} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
points={points} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
storedData={storedData} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
resetStoredData={resetStoredData} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pageName={"wordsorimage"} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{...{ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
steps, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
currentStep, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -237,7 +263,9 @@ const WordsOrImage = ({ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
)} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<Box sx={{ display: "flex", justifyContent: "center" }}> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<VoiceAnalyser | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pageName={"wordsorimage"} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
setVoiceText={setVoiceText} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
updateStoredData={updateStoredData} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
setRecordedAudio={setRecordedAudio} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
setVoiceAnimate={setVoiceAnimate} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
storyLine={storyLine} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -58,6 +58,28 @@ const Mechanics5 = ({ | |
const [playingIndex, setPlayingIndex] = useState(null); | ||
const [selectedOption, setSelectedOption] = useState(null); // Add state to track selected radio button | ||
|
||
const [storedData, setStoredData] = useState([]); | ||
|
||
const updateStoredData = (audios, isCorrect) => { | ||
if (audios) { | ||
const newEntry = { | ||
selectedAnswer: options[selectedOption]?.text, | ||
audioUrl: audios, | ||
correctAnswer: isCorrect, | ||
}; | ||
Comment on lines
+66
to
+69
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Potential undefined access when 'selectedOption' is null In the Consider adding a check to ensure if (audios) {
+ if (selectedOption !== null && selectedOption !== undefined) {
const newEntry = {
selectedAnswer: options[selectedOption]?.text,
audioUrl: audios,
correctAnswer: isCorrect,
};
setStoredData((prevData) => [...prevData, newEntry]);
+ } else {
+ // Handle the case when no option is selected
+ // For example, provide a default value or skip updating storedData
+ }
}
|
||
|
||
setStoredData((prevData) => [...prevData, newEntry]); | ||
} | ||
}; | ||
|
||
const resetStoredData = () => { | ||
setStoredData([]); | ||
}; | ||
|
||
useEffect(() => { | ||
updateStoredData(); | ||
}, [handleNext]); | ||
Comment on lines
+79
to
+81
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Missing arguments in 'updateStoredData' function call The To fix this issue, provide the necessary arguments when calling useEffect(() => {
- updateStoredData();
+ updateStoredData(null, false); // or provide appropriate arguments
}, [handleNext]); Alternatively, if - const updateStoredData = (audios, isCorrect) => {
+ const updateStoredData = (audios = null, isCorrect = false) => {
|
||
|
||
useEffect(() => { | ||
// Ensure that audio stops playing when options change | ||
audiosRef.current.forEach((ref) => { | ||
|
@@ -95,12 +117,17 @@ const Mechanics5 = ({ | |
} | ||
}; | ||
|
||
//console.log('Mechanics5' , storedData, options); | ||
|
||
const handleOptionChange = (event, i) => { | ||
setSelectedOption(i); // Set the selected option index | ||
}; | ||
|
||
return ( | ||
<MainLayout | ||
pageName={"m5"} | ||
storedData={storedData} | ||
resetStoredData={resetStoredData} | ||
background={background} | ||
handleNext={handleNext} | ||
enableNext={enableNext} | ||
|
@@ -244,6 +271,8 @@ const Mechanics5 = ({ | |
|
||
<Box paddingTop={4} sx={{ display: "flex", justifyContent: "center" }}> | ||
<VoiceAnalyser | ||
pageName={"m5"} | ||
updateStoredData={updateStoredData} | ||
setVoiceText={setVoiceText} | ||
setRecordedAudio={setRecordedAudio} | ||
setVoiceAnimate={setVoiceAnimate} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -94,6 +94,8 @@ const Mechanics2 = ({ | |
initializeAudio(); | ||
}, [contentId, parentWords]); | ||
|
||
//console.log('Mechanics6'); | ||
|
||
const getSimilarWords = async (wordForFindingHomophones) => { | ||
const lang = getLocalData("lang"); | ||
// const isFillInTheBlanks = type === "fillInTheBlank"; | ||
|
@@ -194,6 +196,7 @@ const Mechanics2 = ({ | |
}; | ||
return ( | ||
<MainLayout | ||
pageName={"m6"} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Update component name to match pageName The Apply this change throughout the file: - const Mechanics2 = ({ ... }) => {
+ const Mechanics6 = ({ ... }) => {
// At the end of the file
- export default Mechanics2;
+ export default Mechanics6;
|
||
background={background} | ||
handleNext={handleNext} | ||
enableNext={getEnableButton()} | ||
|
@@ -478,6 +481,7 @@ const Mechanics2 = ({ | |
{ | ||
<Box sx={{ display: "flex", justifyContent: "center" }}> | ||
<VoiceAnalyser | ||
pageName={"m6"} | ||
setVoiceText={setVoiceText} | ||
setRecordedAudio={setRecordedAudio} | ||
setVoiceAnimate={setVoiceAnimate} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove unused import
setOtpVerified
.The
setOtpVerified
function is imported from the user slice but is not used within this component. To maintain clean code and avoid potential confusion, it's recommended to remove unused imports.Apply this change:
-import { setOtpVerified } from "../../store/slices/user.slice";
Also applies to: 8-8