Merge pull request #1 from zdam-egzamin-zawodowy/feat/save-qualification-from-test-screen
feat: SummaryTab.tsx - add save qualification button
This commit is contained in:
commit
1531229df4
|
@ -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,
|
||||
},
|
||||
|
|
|
@ -92,6 +92,7 @@ const Test = ({ questions, onReset, qualification }: TestProps) => {
|
|||
questions={questions}
|
||||
resetTest={onReset}
|
||||
finishTest={handleFinishTest}
|
||||
qualificationID={qualification.id}
|
||||
/>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
|
Reference in New Issue