Skip to content
Snippets Groups Projects
Commit 2cd4df11 authored by GOEPP THOMAS's avatar GOEPP THOMAS
Browse files

refactor: end quiz sse

parent 1867bda8
Branches
1 merge request!136Feature/138 refacto plaing quiz sse
Pipeline #325822 passed with stages
in 10 seconds
......@@ -20,7 +20,7 @@ export default function EndQuizListPlayer({ users, maxScore }: Props) {
{item.username.toUpperCase()}
</Text>
<Text style={styles.score}>
{10 + index}/{maxScore} {/* Adjust score logic as needed */}
{item.score}/{maxScore} {/* Adjust score logic as needed */}
</Text>
</View>
</View>
......
......@@ -9,7 +9,7 @@ interface Props {
isFirst: boolean;
}
export default function UserScore({ user, score, maxScore, isFirst }: Props) {
export default function UserScore({ user, maxScore, isFirst }: Props) {
function shortenString(input: string): string {
if (input.length <= 5) {
......@@ -28,7 +28,7 @@ export default function UserScore({ user, score, maxScore, isFirst }: Props) {
</View>
<Text style={styles.userName}>{shortenString(user.username.toUpperCase())}</Text>
<Text style={styles.userScore}>
{score}/{maxScore}
{user.score}/{maxScore}
</Text>
</View>
);
......
......@@ -65,7 +65,7 @@ export default function PlayingQuizMultiMode({route, navigation}:Props) {
if (!event.data) return;
const users: UserEndQuiz[] = JSON.parse(event.data);
console.log("users:", users);
navigation.navigate("EndQuizMulti", { users: users });
navigation.navigate("EndQuizMulti", { users: users, questionCount: questionCount });
});
}
const fetchRuns = async () => {
......
......@@ -119,14 +119,15 @@ export default function PlayingQuizMultiModeBody({runId, actualQuestion, fetchAc
if(isHost)
{
await revealAnswer();
const scoreFetched = await getScore();
if(HttpError.isHttpError(scoreFetched))
{
return;
}
setScore(scoreFetched);
}
const scoreFetched = await getScore();
if(HttpError.isHttpError(scoreFetched))
{
return;
}
setScore(scoreFetched);
};
const onContinue = () => {
if(isHost)
......
......@@ -8,6 +8,7 @@ import {UserEndQuiz} from "../../../models/UserEndQuiz";
type RoutePropsType = {
EndQuizChild: {
users: UserEndQuiz[];
questionCount: number;
};
};
interface Props {
......@@ -16,12 +17,12 @@ interface Props {
}
export default function EndQuizMulti({route,navigation}: Props) {
const { users } = route.params;
const { users, questionCount } = route.params;
return (
<View style={styles.containerGlobal}>
<TemplateMenu navigation={navigation} headerNavigation={false} buttonGoBack={false}>
<View>
<EndQuizMultiChild navigation={navigation} users={users} />
<EndQuizMultiChild navigation={navigation} users={users} questionCount={questionCount} />
</View>
</TemplateMenu>
</View>
......
......@@ -13,9 +13,10 @@ import {UserEndQuiz} from "../../../models/UserEndQuiz";
interface Props {
navigation: NavigationProp<any>;
users: UserEndQuiz[]
questionCount: number
}
export default function EndQuizMultiChild({ navigation, users }: Props) {
export default function EndQuizMultiChild({ navigation, users, questionCount}: Props) {
const userTest = {id: 1, email: "user1@email.com", username: "user1", stats: undefined};
......@@ -34,11 +35,11 @@ export default function EndQuizMultiChild({ navigation, users }: Props) {
style={styles.stars}
/>
<View style={styles.usersContainer}>
{ users[1] && (<UserScore user={users[1]} score={10} maxScore={10} isFirst={false}/>)}
<UserScore user={users[0]} score={10} maxScore={10} isFirst={true}/>
{ users[2] &&(<UserScore user={users[2]} score={10} maxScore={10} isFirst={false}/>)}
{ users[1] && (<UserScore user={users[1]} score={10} maxScore={questionCount} isFirst={false}/>)}
<UserScore user={users[0]} score={10} maxScore={questionCount} isFirst={true}/>
{ users[2] &&(<UserScore user={users[2]} score={10} maxScore={questionCount} isFirst={false}/>)}
</View>
<EndQuizListPlayer users={users} maxScore={10}/>
<EndQuizListPlayer users={users} maxScore={questionCount}/>
{/*<DefaultButton text="RESTART" handleButtonPressed={handleRestartPress} buttonStyle={styles.whiteButton} buttonText={styles.whiteButtonText}></DefaultButton>*/}
<DefaultButton text="BACK TO MENU" handleButtonPressed={handleBackToMenu} buttonStyle={styles.blueButton} buttonText={styles.blueButtonText}></DefaultButton>
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment