feat: SummaryTab.tsx - add save qualification button

This commit is contained in:
Dawid Wysokiński 2021-05-15 10:18:41 +02:00
parent 7b78ba1f6d
commit 9386c88d26
2 changed files with 17 additions and 0 deletions

View File

@ -1,5 +1,6 @@
import React, { useMemo } from 'react';
import { polishPlurals } from 'polish-plurals';
import { useSavedQualifications } from 'libs/savedqualifications';
import { Answer, Question } from 'libs/graphql';
import { StyleSheet } from 'react-native';
@ -13,6 +14,7 @@ export interface SummaryTabProps {
questions: Question[];
finishTest: () => void;
resetTest: () => void;
qualificationID: number;
}
const SummaryTab = ({
@ -21,7 +23,9 @@ const SummaryTab = ({
questions,
finishTest,
resetTest,
qualificationID,
}: SummaryTabProps) => {
const { isSaved, saveQualification } = useSavedQualifications();
const correctAnswers = useMemo(() => {
return answers.filter(
(answer, index) => questions[index].correctAnswer === answer,
@ -46,6 +50,15 @@ const SummaryTab = ({
{polishPlurals('pytanie', 'pytania', 'pytań', correctAnswers)} z{' '}
{total}.
</H3>
{!isSaved(qualificationID) && (
<Button
full
style={styles.smallMB}
onPress={() => saveQualification(qualificationID, true)}
>
<Text>Zapisz kwalifikację</Text>
</Button>
)}
<Button full onPress={resetTest}>
<Text>Spróbuj ponownie</Text>
</Button>
@ -65,6 +78,9 @@ const styles = StyleSheet.create({
textAlignCenter: {
textAlign: 'center',
},
smallMB: {
marginBottom: 5,
},
mb: {
marginBottom: 15,
},

View File

@ -92,6 +92,7 @@ const Test = ({ questions, onReset, qualification }: TestProps) => {
questions={questions}
resetTest={onReset}
finishTest={handleFinishTest}
qualificationID={qualification.id}
/>
</Tab>
</Tabs>