From b5c540c9e8a573740952c39f813fdb58c68a212e Mon Sep 17 00:00:00 2001 From: Fadhli Date: Fri, 13 Sep 2024 03:15:03 +0800 Subject: [PATCH] SCRUM-120 Added Reality Check Screen and dynamic routing to Assessment --- .../iQMA-Skills-Builder/app/Assessment.tsx | 7 +- .../iQMA-Skills-Builder/app/RealityCheck.tsx | 71 ++++-------------- .../app/screens/Settings.tsx | 2 +- .../assets/images/happycloseeye.png | Bin 15876 -> 15658 bytes 4 files changed, 20 insertions(+), 60 deletions(-) diff --git a/frontend/iQMA-Skills-Builder/app/Assessment.tsx b/frontend/iQMA-Skills-Builder/app/Assessment.tsx index c6d27bb..ff89675 100644 --- a/frontend/iQMA-Skills-Builder/app/Assessment.tsx +++ b/frontend/iQMA-Skills-Builder/app/Assessment.tsx @@ -6,7 +6,7 @@ import {useNavigation} from '@react-navigation/native'; import ProgressBar from '@/components/ProgressBar'; import {QuizCard} from '@/components/QuizCard'; import axios from 'axios'; -import {router} from 'expo-router'; +import {router, useLocalSearchParams} from 'expo-router'; import {Question} from '@/constants/Quiz'; import * as unitEndpoints from '@/helpers/unitEndpoints'; import * as assessmentEndpoints from '@/helpers/assessmentEndpoints'; @@ -24,8 +24,9 @@ export default function Assessment() { const [unitScenario, setUnitScenario] = useState(''); // Hardcoded for now until routing confirmed - const sectionID = 'SEC0001'; - const unitID = 'UNIT0001'; + // const sectionID = 'SEC0001'; + // const unitID = 'UNIT0001'; + const {sectionID, unitID} = useLocalSearchParams(); useEffect(() => { if (sectionID && unitID) { diff --git a/frontend/iQMA-Skills-Builder/app/RealityCheck.tsx b/frontend/iQMA-Skills-Builder/app/RealityCheck.tsx index 511c2b9..ddb53d0 100644 --- a/frontend/iQMA-Skills-Builder/app/RealityCheck.tsx +++ b/frontend/iQMA-Skills-Builder/app/RealityCheck.tsx @@ -9,45 +9,23 @@ import {OverviewCard} from '@/components/OverviewCard'; import {formatSection} from '@/helpers/formatSectionID'; import {formatUnit} from '@/helpers/formatUnitID'; import * as unitEndpoints from '@/helpers/unitEndpoints'; -import AsyncStorage from '@react-native-async-storage/async-storage'; -import axios from 'axios'; // where things show up export default function RealityCheck() { const navigation = useNavigation(); - const {sectionID, unitID, lessonID} = useLocalSearchParams(); + // Use this for Routing + // const {sectionID, unitID} = useLocalSearchParams(); const [sectionNumber, setSectionNumber] = useState(''); const [unitNumber, setUnitNumber] = useState(''); const [unitName, setUnitName] = useState(''); - const [unitDescription, setUnitDescription] = useState([]); - - const [seconds, setSeconds] = useState(0); - const timerRef = useRef(null); - - const startTimer = () => { - if (timerRef.current) { - clearInterval(timerRef.current); - } - timerRef.current = setInterval(() => { - setSeconds(prevSeconds => prevSeconds + 1); - }, 1000); - }; - - const stopTimer = () => { - if (timerRef.current) { - clearInterval(timerRef.current); - timerRef.current = null; - } - }; + const [realityCheckDescription, setRealityCheckDescription] = useState([]); + + // Only for testing, please delete + const [sectionID, setSectionID] = useState("SEC0001") + const [unitID, setUnitID] = useState("UNIT0001") useEffect(() => { - startTimer(); - return () => { - if (timerRef.current) { - clearInterval(timerRef.current); - } - }; }, []); useLayoutEffect(() => { @@ -66,7 +44,7 @@ export default function RealityCheck() { unitID as string ); - setUnitDescription(unitDetails.unitDescription); + setRealityCheckDescription(unitDetails.realityCheck); setUnitName(unitDetails.unitName); })(); setSectionNumber(formatSection(sectionID as string)); @@ -75,30 +53,11 @@ export default function RealityCheck() { }, [sectionID, unitID]); const handlePress = async () => { - // router.push('Lesson'); + router.push({ - pathname: 'Lesson', - params: {sectionID: sectionID, unitID: unitID, lessonID: '1a'}, - // params: {sectionID: sectionID, unitID: unitID, lessonID: lessonID}, + pathname: 'Assessment', + params: {sectionID: sectionID, unitID: unitID}, }); - stopTimer(); - const userID = await AsyncStorage.getItem('userID'); - try { - const response = await axios.post( - `${process.env.EXPO_PUBLIC_LOCALHOST_URL}/clickstream/sendMessage`, - { - "userID": userID, - "eventType": "timeTaken", - "event": `unitID ${unitID}`, - "timestamp": new Date().toISOString(), - "time": `${seconds}` - } - ) - console.log(response.data) - } catch (e) { - console.error(e); - } - setSeconds(0); }; return ( @@ -117,11 +76,11 @@ export default function RealityCheck() { marginHorizontal: 10, }} > - Unit {unitNumber}: Introduction + Unit {unitNumber}: Reality Check - {unitDescription.length > 0 ? ( - unitDescription.map((description, index) => ( + {realityCheckDescription.length > 0 ? ( + realityCheckDescription.map((description, index) => ( )) ) : ( @@ -134,7 +93,7 @@ export default function RealityCheck() { diff --git a/frontend/iQMA-Skills-Builder/app/screens/Settings.tsx b/frontend/iQMA-Skills-Builder/app/screens/Settings.tsx index 1bf2dfa..ab60ad0 100644 --- a/frontend/iQMA-Skills-Builder/app/screens/Settings.tsx +++ b/frontend/iQMA-Skills-Builder/app/screens/Settings.tsx @@ -13,7 +13,7 @@ const testQuiz = () => { }; const testAsssessment = () => { - router.push('Assessment'); + router.push('RealityCheck'); }; const SettingPage: React.FC = () => ( diff --git a/frontend/iQMA-Skills-Builder/assets/images/happycloseeye.png b/frontend/iQMA-Skills-Builder/assets/images/happycloseeye.png index d61b35dd9a763dbf1313a47a4550090af1147f35..74cff0f42d1c5eaee262b9ad0a38c2cd6a5588d3 100644 GIT binary patch literal 15658 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 G(Ek9^b*L@? literal 15876 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