diff --git a/.vs/LEARNIHON/FileContentIndex/1b85d701-46b4-4772-b118-f916355c571a.vsidx b/.vs/LEARNIHON/FileContentIndex/1b85d701-46b4-4772-b118-f916355c571a.vsidx
new file mode 100644
index 0000000..9b2d6eb
Binary files /dev/null and b/.vs/LEARNIHON/FileContentIndex/1b85d701-46b4-4772-b118-f916355c571a.vsidx differ
diff --git a/.vs/LEARNIHON/FileContentIndex/a2b4d311-5337-4b89-b5d2-44068b85cfe4.vsidx b/.vs/LEARNIHON/FileContentIndex/a2b4d311-5337-4b89-b5d2-44068b85cfe4.vsidx
deleted file mode 100644
index 65f6400..0000000
Binary files a/.vs/LEARNIHON/FileContentIndex/a2b4d311-5337-4b89-b5d2-44068b85cfe4.vsidx and /dev/null differ
diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite
index 04f7a97..9b42c63 100644
Binary files a/.vs/slnx.sqlite and b/.vs/slnx.sqlite differ
diff --git a/src/components/DrawingCanva.tsx b/src/components/DrawingCanva.tsx
index 0e28c61..13b968c 100644
--- a/src/components/DrawingCanva.tsx
+++ b/src/components/DrawingCanva.tsx
@@ -19,7 +19,6 @@ const DrawingCanva = () => {
const [strokeWidth, setStroke] = useState(5);
const [isCanvasReady, setIsCanvasReady] = useState(false);
const [imgXml, setImgXml] = useState('');
- const [drawnStrokes, setDrawnStrokes] = useState(0);
const selectedKanji = KanjiMapper.SerializedObjectToKanji(useSelector(state => state.kanjiReducer.selectedKanji));
const [isVisible, setIsVisible] = useState(true);
@@ -31,10 +30,6 @@ const DrawingCanva = () => {
}
}, [canvasRef.current, selectedKanji]);
- const getCanvasStrokeCount = () => {
- return canvasRef.current?.toPoints().length;
- }
-
const fetchXml = async () => {
if (selectedKanji instanceof Kanji) {
const xml = await (await fetch(selectedKanji.image)).text();
diff --git a/src/components/GradeChip.tsx b/src/components/GradeChip.tsx
index 34ea7b9..b2583b7 100644
--- a/src/components/GradeChip.tsx
+++ b/src/components/GradeChip.tsx
@@ -5,7 +5,7 @@ import { learnihonColors } from '../assets/colors';
interface gradeChipProps {
grade: number;
- onSelect: (item: string, isSelected: Boolean) => void;
+ onSelect: (item: string, isSelected: boolean) => void;
}
const GradeChip = (props: gradeChipProps) => {
diff --git a/src/components/GradeChipList.tsx b/src/components/GradeChipList.tsx
index 0b7569c..efc7ffa 100644
--- a/src/components/GradeChipList.tsx
+++ b/src/components/GradeChipList.tsx
@@ -1,10 +1,9 @@
-import { useNavigation } from "@react-navigation/native";
import React from "react";
import { FlatList, StyleSheet, View } from "react-native";
import GradeChip from './GradeChip';
interface kanjiListSeachPanelProps {
- onSelect: (item: string, isSelected: Boolean) => void;
+ onSelect: (item: string, isSelected: boolean) => void;
}
const GradeChipList = (props: kanjiListSeachPanelProps) => {
diff --git a/src/components/KanjiCard.tsx b/src/components/KanjiCard.tsx
index 48584ae..054b284 100644
--- a/src/components/KanjiCard.tsx
+++ b/src/components/KanjiCard.tsx
@@ -11,9 +11,9 @@ import KanjiAnswerField from './KanjiAnswerField';
const KanjiCard = () => {
- var kanjiCardStyle = useColorScheme() == 'light' ? kanjiCardStyle_light : kanjiCardStyle_dark;
+ let kanjiCardStyle = useColorScheme() == 'light' ? kanjiCardStyle_light : kanjiCardStyle_dark;
const [answerTextColor, setAnswerTextColor] = useState(kanjiCardStyle.text.color);
- var textAnswerStyle = StyleSheet.create({
+ let textAnswerStyle = StyleSheet.create({
text: {
color: answerTextColor,
fontWeight: "bold",
@@ -35,7 +35,7 @@ const KanjiCard = () => {
const nextKanji = () => {
if (selectedItems.length) {
- var items= [].concat(...Object.values(selectedItems.map(it => it.data)))
+ let items= [].concat(...Object.values(selectedItems.map(it => it.data)))
return items[Math.floor(Math.random() * items.length)]
}
return allKanjis[Math.floor(Math.random() * allKanjis.length)]
@@ -46,7 +46,7 @@ const KanjiCard = () => {
const [hasAnswered, setHasAnswered] = useState(false);
const [answer, setAnswer] = React.useState("");
- var kanjis: KanjiListByGrade = useSelector(state => state.kanjiReducer.kanjis);
+ let kanjis: KanjiListByGrade = useSelector(state => state.kanjiReducer.kanjis);
const allKanjis = [].concat(...Object.values(kanjis))
@@ -69,7 +69,7 @@ const KanjiCard = () => {
}, [kanji]);
const computeAnswer = () => {
- var isCorrect = isAnswerRight();
+ let isCorrect = isAnswerRight();
setAnswerTextColor(isCorrect ? learnihonColors.correct : learnihonColors.wrong);
storeGuess(kanji?.character!, isCorrect);
setHasAnswered(true);
diff --git a/src/components/KanjiList.tsx b/src/components/KanjiList.tsx
index 43d3eab..da29e3c 100644
--- a/src/components/KanjiList.tsx
+++ b/src/components/KanjiList.tsx
@@ -12,7 +12,7 @@ const KanjiList = () => {
const kanjiListStyle = useColorScheme() == 'light' ? kanjiListStyle_light : kanjiListStyle_dark;
- var kanjis: KanjiListByGrade = useSelector(state => state.kanjiReducer.kanjis);
+ let kanjis: KanjiListByGrade = useSelector(state => state.kanjiReducer.kanjis);
const [selectedItems, setSelectedItems] = useState<{title: string, data: Kanji[]}[]>([]);
const updateSelectedItems = (item: string, isSelected: Boolean) => {
diff --git a/src/components/KanjiListCell.tsx b/src/components/KanjiListCell.tsx
index 92473b9..0ab281b 100644
--- a/src/components/KanjiListCell.tsx
+++ b/src/components/KanjiListCell.tsx
@@ -3,7 +3,7 @@ import React, { useEffect, useMemo, useState } from 'react';
import { StyleSheet, Text, TouchableOpacity, useColorScheme } from 'react-native';
import { learnihonColors } from '../assets/colors';
import { Kanji } from '../model/kanji';
-import { calcCorrectGuessesRatio, getColorByRatio, KanjiGuess } from '../model/kanjiGuess';
+import { calcCorrectGuessesRatio, getColorByRatio } from '../model/kanjiGuess';
import { retrieveGuess } from '../storage/storage';
interface kanjiListCellProps {
@@ -17,7 +17,7 @@ const KanjiListCell = React.memo((props: kanjiListCellProps) => {
const navigator = useNavigation();
const [guessColor, setGuessColor] = useState(cellStyle.text.color);
const [ratio, setRatio] = useState(-1);
- var ratioStyle = StyleSheet.create({
+ let ratioStyle = StyleSheet.create({
text:
{
color: guessColor,
diff --git a/src/model/kanjiMapper.ts b/src/model/kanjiMapper.ts
index 4ae4c5e..580465c 100644
--- a/src/model/kanjiMapper.ts
+++ b/src/model/kanjiMapper.ts
@@ -3,12 +3,12 @@ import { Kanji } from "./kanji";
export class KanjiMapper {
static ApiJsonToKanji(json: any): Kanji {
- var radical: { character: string, position: string } = {
+ let radical: { character: string, position: string } = {
character: json.radical.character,
position: json.radical.position.icon
};
- var examples: { japanese: string, english: string }[] = [];
+ let examples: { japanese: string, english: string }[] = [];
json.examples.forEach(
(entry) => {
diff --git a/src/pages/Detail.tsx b/src/pages/Detail.tsx
index 58bc8d3..2bc821c 100644
--- a/src/pages/Detail.tsx
+++ b/src/pages/Detail.tsx
@@ -54,7 +54,7 @@ const Detail = ({route}) => {
{kanji.strokes + " strokes"}
{kanji.meaning}
- {kanji.radical.position && kanji.radical.character &&
+ {!!(kanji.radical.position && kanji.radical.character) &&
(<>
Radical