@nakamura-123/pages 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/component/Badge5s.d.ts +9 -0
- package/dist/component/Badge5s.js +46 -0
- package/dist/component/BasicSetting.d.ts +9 -0
- package/dist/component/BasicSetting.js +31 -0
- package/dist/component/Boot/IconTitleAndToggle.d.ts +8 -0
- package/dist/component/Boot/IconTitleAndToggle.js +20 -0
- package/dist/component/Boot/SelectRange.d.ts +6 -0
- package/dist/component/Boot/SelectRange.js +44 -0
- package/dist/component/Boot/SelectUnit.d.ts +6 -0
- package/dist/component/Boot/SelectUnit.js +41 -0
- package/dist/component/Boot/ToggleRange.d.ts +8 -0
- package/dist/component/Boot/ToggleRange.js +54 -0
- package/dist/component/Coin/AppReviews.d.ts +10 -0
- package/dist/component/Coin/AppReviews.js +45 -0
- package/dist/component/Coin/CatchCopy.d.ts +3 -0
- package/dist/component/Coin/CatchCopy.js +31 -0
- package/dist/component/Coin/Recommend.d.ts +3 -0
- package/dist/component/Coin/Recommend.js +87 -0
- package/dist/component/Grade/AllBadges.d.ts +7 -0
- package/dist/component/Grade/AllBadges.js +41 -0
- package/dist/component/Grade/AllTags.d.ts +5 -0
- package/dist/component/Grade/AllTags.js +32 -0
- package/dist/component/Grade/BasicBadge.d.ts +7 -0
- package/dist/component/Grade/BasicBadge.js +72 -0
- package/dist/component/Grade/ChangeWeeklyTargetBtn.d.ts +5 -0
- package/dist/component/Grade/ChangeWeeklyTargetBtn.js +39 -0
- package/dist/component/Grade/DatePickerModal.d.ts +8 -0
- package/dist/component/Grade/DatePickerModal.js +45 -0
- package/dist/component/Grade/GradeCard/ChangeWeeklyModal.d.ts +13 -0
- package/dist/component/Grade/GradeCard/ChangeWeeklyModal.js +39 -0
- package/dist/component/Grade/GradeCard/ChangeWeeklyTargetBtn.d.ts +7 -0
- package/dist/component/Grade/GradeCard/ChangeWeeklyTargetBtn.js +60 -0
- package/dist/component/Grade/GradeCard/DatePickerModal.d.ts +8 -0
- package/dist/component/Grade/GradeCard/DatePickerModal.js +49 -0
- package/dist/component/Grade/GradeCard/GradeCard.d.ts +7 -0
- package/dist/component/Grade/GradeCard/GradeCard.js +53 -0
- package/dist/component/Grade/GradeCard/Square3sGrade.d.ts +11 -0
- package/dist/component/Grade/GradeCard/Square3sGrade.js +60 -0
- package/dist/component/Grade/GradeCard/TargetDate.d.ts +7 -0
- package/dist/component/Grade/GradeCard/TargetDate.js +60 -0
- package/dist/component/Grade/GradeCard/WeeklyAchivedRate.d.ts +9 -0
- package/dist/component/Grade/GradeCard/WeeklyAchivedRate.js +28 -0
- package/dist/component/Grade/GradeCard/WeeklyProgress.d.ts +11 -0
- package/dist/component/Grade/GradeCard/WeeklyProgress.js +88 -0
- package/dist/component/Grade/GradeCard.d.ts +4 -0
- package/dist/component/Grade/GradeCard.js +53 -0
- package/dist/component/Grade/QuizCntGraph.d.ts +8 -0
- package/dist/component/Grade/QuizCntGraph.js +104 -0
- package/dist/component/Grade/Scuare3sGrade.d.ts +9 -0
- package/dist/component/Grade/Scuare3sGrade.js +35 -0
- package/dist/component/Grade/ShareBtn.d.ts +6 -0
- package/dist/component/Grade/ShareBtn.js +86 -0
- package/dist/component/Grade/Square3sGrade.d.ts +9 -0
- package/dist/component/Grade/Square3sGrade.js +63 -0
- package/dist/component/Grade/Square4s.d.ts +7 -0
- package/dist/component/Grade/Square4s.js +63 -0
- package/dist/component/Grade/TargetDate.d.ts +4 -0
- package/dist/component/Grade/TargetDate.js +56 -0
- package/dist/component/Grade/WeeklyAchivedRate.d.ts +7 -0
- package/dist/component/Grade/WeeklyAchivedRate.js +28 -0
- package/dist/component/Grade/WeeklyProgress.d.ts +9 -0
- package/dist/component/Grade/WeeklyProgress.js +80 -0
- package/dist/component/HeadNavigator.d.ts +0 -0
- package/dist/component/HeadNavigator.js +49 -0
- package/dist/component/HomePage.d.ts +8 -0
- package/dist/component/HomePage.js +44 -0
- package/dist/component/MiniTestCard.d.ts +9 -0
- package/dist/component/MiniTestCard.js +75 -0
- package/dist/component/Paw4s.d.ts +7 -0
- package/dist/component/Paw4s.js +51 -0
- package/dist/component/Paw5s.d.ts +7 -0
- package/dist/component/Paw5s.js +51 -0
- package/dist/component/QuizSet/QuizOptionDrill.d.ts +5 -0
- package/dist/component/QuizSet/QuizOptionDrill.js +46 -0
- package/dist/component/QuizSet/QuizSetDrill.d.ts +5 -0
- package/dist/component/QuizSet/QuizSetDrill.js +43 -0
- package/dist/component/Result/CharaCard.d.ts +7 -0
- package/dist/component/Result/CharaCard.js +43 -0
- package/dist/component/Result/LessonTitle.d.ts +3 -0
- package/dist/component/Result/LessonTitle.js +42 -0
- package/dist/component/Result/QuizFlatList.d.ts +7 -0
- package/dist/component/Result/QuizFlatList.js +76 -0
- package/dist/component/Result/ScoreBox.d.ts +7 -0
- package/dist/component/Result/ScoreBox.js +61 -0
- package/dist/component/Result/ScoreCircle.d.ts +7 -0
- package/dist/component/Result/ScoreCircle.js +59 -0
- package/dist/component/SelectRange/SelectYearRange.d.ts +7 -0
- package/dist/component/SelectRange/SelectYearRange.js +105 -0
- package/dist/component/SettingBtns/Config.d.ts +8 -0
- package/dist/component/SettingBtns/Config.js +17 -0
- package/dist/component/SettingBtns/Grade.d.ts +8 -0
- package/dist/component/SettingBtns/Grade.js +17 -0
- package/dist/component/SettingBtns/QuizOptionSelector.d.ts +7 -0
- package/dist/component/SettingBtns/QuizOptionSelector.js +43 -0
- package/dist/component/SettingBtns/Range.d.ts +5 -0
- package/dist/component/SettingBtns/Range.js +44 -0
- package/dist/component/SettingBtns/Report.d.ts +5 -0
- package/dist/component/SettingBtns/Report.js +16 -0
- package/dist/component/SettingBtns/Setting.d.ts +0 -0
- package/dist/component/SettingBtns/Setting.js +1 -0
- package/dist/component/Square3s.d.ts +7 -0
- package/dist/component/Square3s.js +38 -0
- package/dist/component/SubCagegoryList.d.ts +8 -0
- package/dist/component/SubCagegoryList.js +120 -0
- package/dist/component/SubCategoryLeft.d.ts +5 -0
- package/dist/component/SubCategoryLeft.js +14 -0
- package/dist/component/SubCategoryList.d.ts +9 -0
- package/dist/component/SubCategoryList.js +77 -0
- package/dist/component/TabAnimeView.d.ts +7 -0
- package/dist/component/TabAnimeView.js +61 -0
- package/dist/component/TabContents.d.ts +1 -0
- package/dist/component/TabContents.js +18 -0
- package/dist/component/TabContentsWrap.d.ts +7 -0
- package/dist/component/TabContentsWrap.js +38 -0
- package/dist/component/Tag5s.d.ts +6 -0
- package/dist/component/Tag5s.js +49 -0
- package/dist/component/TagBadge5s.d.ts +7 -0
- package/dist/component/TagBadge5s.js +63 -0
- package/dist/component/TagBadge5sPress.d.ts +6 -0
- package/dist/component/TagBadge5sPress.js +29 -0
- package/dist/component/TestCard.d.ts +7 -0
- package/dist/component/TestCard.js +57 -0
- package/dist/component/TestPage/AverageBar.d.ts +11 -0
- package/dist/component/TestPage/AverageBar.js +74 -0
- package/dist/component/TestPage/BarChart.d.ts +7 -0
- package/dist/component/TestPage/BarChart.js +107 -0
- package/dist/component/TestPage/BarChartContainer.d.ts +9 -0
- package/dist/component/TestPage/BarChartContainer.js +99 -0
- package/dist/component/TestPage/BarGraph.d.ts +11 -0
- package/dist/component/TestPage/BarGraph.js +60 -0
- package/dist/component/TestPage/ChartControl.d.ts +10 -0
- package/dist/component/TestPage/ChartControl.js +43 -0
- package/dist/component/TestPage/Square3s.d.ts +9 -0
- package/dist/component/TestPage/Square3s.js +35 -0
- package/dist/component/UnitPage.d.ts +10 -0
- package/dist/component/UnitPage.js +15 -0
- package/dist/functions/InQuizFnc.d.ts +0 -0
- package/dist/functions/InQuizFnc.js +1 -0
- package/dist/functions/badgeBasicFnc.d.ts +14 -0
- package/dist/functions/badgeBasicFnc.js +68 -0
- package/dist/functions/badgeDailyFnc.d.ts +15 -0
- package/dist/functions/badgeDailyFnc.js +65 -0
- package/dist/functions/badgeFilter.d.ts +17 -0
- package/dist/functions/badgeFilter.js +33 -0
- package/dist/functions/badgeFnc.d.ts +15 -0
- package/dist/functions/badgeFnc.js +68 -0
- package/dist/functions/createQuizFnc.d.ts +13 -0
- package/dist/functions/createQuizFnc.js +69 -0
- package/dist/functions/gradeFnc.d.ts +16 -0
- package/dist/functions/gradeFnc.js +83 -0
- package/dist/functions/questionFilter.d.ts +16 -0
- package/dist/functions/questionFilter.js +79 -0
- package/dist/functions/questionFormat.d.ts +7 -0
- package/dist/functions/questionFormat.js +89 -0
- package/dist/functions/tagFnc.d.ts +22 -0
- package/dist/functions/tagFnc.js +105 -0
- package/dist/functions/testFnc.d.ts +8 -0
- package/dist/functions/testFnc.js +21 -0
- package/dist/helper/scoreFnc.d.ts +10 -0
- package/dist/helper/scoreFnc.js +40 -0
- package/dist/helper/tagFnc.d.ts +23 -0
- package/dist/helper/tagFnc.js +69 -0
- package/dist/helper/testFnc.d.ts +7 -0
- package/dist/helper/testFnc.js +17 -0
- package/dist/hooks/BadgeHook.d.ts +1 -0
- package/dist/hooks/BadgeHook.js +65 -0
- package/dist/hooks/ExitQuizHook.d.ts +2 -0
- package/dist/hooks/ExitQuizHook.js +54 -0
- package/dist/hooks/basicHook.d.ts +3 -0
- package/dist/hooks/basicHook.js +14 -0
- package/dist/hooks/quizActionHook.d.ts +5 -0
- package/dist/hooks/quizActionHook.js +86 -0
- package/dist/hooks/quizHook.d.ts +15 -0
- package/dist/hooks/quizHook.js +60 -0
- package/dist/hooks/selector.d.ts +6 -0
- package/dist/hooks/selector.js +24 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +68 -0
- package/dist/page/BadgePage.d.ts +8 -0
- package/dist/page/BadgePage.js +58 -0
- package/dist/page/BasicPage.d.ts +9 -0
- package/dist/page/BasicPage.js +125 -0
- package/dist/page/BootPage.d.ts +9 -0
- package/dist/page/BootPage.js +116 -0
- package/dist/page/CoinPage.d.ts +9 -0
- package/dist/page/CoinPage.js +51 -0
- package/dist/page/GetBadgePage.d.ts +7 -0
- package/dist/page/GetBadgePage.js +173 -0
- package/dist/page/GradePage.d.ts +7 -0
- package/dist/page/GradePage.js +37 -0
- package/dist/page/HistoryPage.d.ts +11 -0
- package/dist/page/HistoryPage.js +62 -0
- package/dist/page/HomePage.d.ts +8 -0
- package/dist/page/HomePage.js +80 -0
- package/dist/page/ImgZoom.d.ts +10 -0
- package/dist/page/ImgZoom.js +29 -0
- package/dist/page/QuixPage.d.ts +7 -0
- package/dist/page/QuixPage.js +33 -0
- package/dist/page/QuizPage.d.ts +7 -0
- package/dist/page/QuizPage.js +98 -0
- package/dist/page/QuizSettingPage.d.ts +7 -0
- package/dist/page/QuizSettingPage.js +72 -0
- package/dist/page/QuizSetupPage.d.ts +7 -0
- package/dist/page/QuizSetupPage.js +85 -0
- package/dist/page/ReportPage.d.ts +8 -0
- package/dist/page/ReportPage.js +185 -0
- package/dist/page/ResultPage.d.ts +7 -0
- package/dist/page/ResultPage.js +47 -0
- package/dist/page/SettingPage.d.ts +7 -0
- package/dist/page/SettingPage.js +62 -0
- package/dist/page/TestPage.d.ts +9 -0
- package/dist/page/TestPage.js +101 -0
- package/dist/page/UnitPage.d.ts +9 -0
- package/dist/page/UnitPage.js +127 -0
- package/dist/page/ZoomImg.d.ts +0 -0
- package/dist/page/ZoomImg.js +1 -0
- package/dist/quiz/GoBackAlert.d.ts +2 -0
- package/dist/quiz/GoBackAlert.js +30 -0
- package/dist/quiz/MyImage.d.ts +9 -0
- package/dist/quiz/MyImage.js +60 -0
- package/dist/quiz/MyTextqqyy.d.ts +10 -0
- package/dist/quiz/MyTextqqyy.js +80 -0
- package/dist/quiz/Question.d.ts +3 -0
- package/dist/quiz/Question.js +43 -0
- package/dist/quiz/Quiz.d.ts +9 -0
- package/dist/quiz/Quiz.js +44 -0
- package/dist/quiz/QuizTitle.d.ts +3 -0
- package/dist/quiz/QuizTitle.js +51 -0
- package/dist/quiz/Title.d.ts +3 -0
- package/dist/quiz/Title.js +51 -0
- package/dist/quiz/answer/Answer.d.ts +3 -0
- package/dist/quiz/answer/Answer.js +41 -0
- package/dist/quiz/answer/BlankAnswer.d.ts +7 -0
- package/dist/quiz/answer/BlankAnswer.js +33 -0
- package/dist/quiz/answer/BlankBtn.d.ts +3 -0
- package/dist/quiz/answer/BlankBtn.js +50 -0
- package/dist/quiz/answer/ChoiceView.d.ts +17 -0
- package/dist/quiz/answer/ChoiceView.js +53 -0
- package/dist/quiz/answer/CommonChoice.d.ts +0 -0
- package/dist/quiz/answer/CommonChoice.js +1 -0
- package/dist/quiz/answer/MultiChoice.d.ts +7 -0
- package/dist/quiz/answer/MultiChoice.js +66 -0
- package/dist/quiz/answer/MultiChoiceContainer.d.ts +7 -0
- package/dist/quiz/answer/MultiChoiceContainer.js +71 -0
- package/dist/quiz/answer/MultiChoiceLogic.d.ts +0 -0
- package/dist/quiz/answer/MultiChoiceLogic.js +1 -0
- package/dist/quiz/answer/MultiNextBtn.d.ts +7 -0
- package/dist/quiz/answer/MultiNextBtn.js +36 -0
- package/dist/quiz/answer/NormalChoice.d.ts +7 -0
- package/dist/quiz/answer/NormalChoice.js +64 -0
- package/dist/quiz/answer/NormalChoiceContainer.d.ts +7 -0
- package/dist/quiz/answer/NormalChoiceContainer.js +76 -0
- package/dist/quiz/answer/NormalChoiceView.d.ts +17 -0
- package/dist/quiz/answer/NormalChoiceView.js +53 -0
- package/dist/quiz/answer/NormalSelect.d.ts +5 -0
- package/dist/quiz/answer/NormalSelect.js +28 -0
- package/dist/quiz/answer/memo.d.ts +9 -0
- package/dist/quiz/answer/memo.js +114 -0
- package/dist/quiz/answer/style/getChoiceStyle.d.ts +2 -0
- package/dist/quiz/answer/style/getChoiceStyle.js +17 -0
- package/dist/quiz/answer/styles/getChoiceStyle.d.ts +5 -0
- package/dist/quiz/answer/styles/getChoiceStyle.js +32 -0
- package/dist/quiz/answer/util/choiceFnc.d.ts +2 -0
- package/dist/quiz/answer/util/choiceFnc.js +9 -0
- package/dist/quiz/check/Check.d.ts +8 -0
- package/dist/quiz/check/Check.js +82 -0
- package/dist/quiz/check/NextQuiz.d.ts +8 -0
- package/dist/quiz/check/NextQuiz.js +42 -0
- package/dist/quiz/check/NextQuizBtn.d.ts +8 -0
- package/dist/quiz/check/NextQuizBtn.js +67 -0
- package/dist/quiz/check/SelectTag.d.ts +5 -0
- package/dist/quiz/check/SelectTag.js +86 -0
- package/dist/quiz/common/MyImage.d.ts +6 -0
- package/dist/quiz/common/MyImage.js +56 -0
- package/dist/quiz/common/MyTextqqyy.d.ts +11 -0
- package/dist/quiz/common/MyTextqqyy.js +133 -0
- package/dist/quiz/common/PageContainerWrap.d.ts +10 -0
- package/dist/quiz/common/PageContainerWrap.js +38 -0
- package/dist/quiz/common/RenderImgOrText.d.ts +11 -0
- package/dist/quiz/common/RenderImgOrText.js +21 -0
- package/dist/quiz/common/ZoomableImage.d.ts +9 -0
- package/dist/quiz/common/ZoomableImage.js +18 -0
- package/dist/quiz/explain/CorrectBar.d.ts +7 -0
- package/dist/quiz/explain/CorrectBar.js +46 -0
- package/dist/quiz/explain/CorrectedBar.d.ts +7 -0
- package/dist/quiz/explain/CorrectedBar.js +45 -0
- package/dist/quiz/explain/Example.d.ts +8 -0
- package/dist/quiz/explain/Example.js +107 -0
- package/dist/quiz/explain/Explain.d.ts +8 -0
- package/dist/quiz/explain/Explain.js +59 -0
- package/dist/quiz/explain/ExplainLogic.d.ts +17 -0
- package/dist/quiz/explain/ExplainLogic.js +52 -0
- package/dist/quiz/function/choiceFnc.d.ts +2 -0
- package/dist/quiz/function/choiceFnc.js +9 -0
- package/dist/quiz/function/turnModeFnc.d.ts +0 -0
- package/dist/quiz/function/turnModeFnc.js +31 -0
- package/dist/quiz/question/FillDiagram.d.ts +10 -0
- package/dist/quiz/question/FillDiagram.js +27 -0
- package/dist/quiz/question/Question.d.ts +8 -0
- package/dist/quiz/question/Question.js +61 -0
- package/dist/quiz/question/QuestionFormat.d.ts +8 -0
- package/dist/quiz/question/QuestionFormat.js +69 -0
- package/dist/quiz/question/QuestionFormats.d.ts +9 -0
- package/dist/quiz/question/QuestionFormats.js +75 -0
- package/dist/quiz/question/QuestionMultiFormat.d.ts +7 -0
- package/dist/quiz/question/QuestionMultiFormat.js +43 -0
- package/dist/quiz/question/QuestionTxtFomat.d.ts +7 -0
- package/dist/quiz/question/QuestionTxtFomat.js +42 -0
- package/dist/quiz/question/SearchYoutue.d.ts +6 -0
- package/dist/quiz/question/SearchYoutue.js +20 -0
- package/dist/quiz/question/questionStyleFormat.d.ts +8 -0
- package/dist/quiz/question/questionStyleFormat.js +61 -0
- package/dist/quiz/save/QuizSaveData.d.ts +9 -0
- package/dist/quiz/save/QuizSaveData.js +68 -0
- package/dist/quiz/setting/Bottom3Btn.d.ts +8 -0
- package/dist/quiz/setting/Bottom3Btn.js +79 -0
- package/dist/quiz/setting/ReturnBtn.d.ts +7 -0
- package/dist/quiz/setting/ReturnBtn.js +77 -0
- package/dist/quiz/setting/ReturnSaveBtn.d.ts +7 -0
- package/dist/quiz/setting/ReturnSaveBtn.js +94 -0
- package/dist/quiz/styles/getChoiceStyle.d.ts +5 -0
- package/dist/quiz/styles/getChoiceStyle.js +32 -0
- package/dist/quiz/util/choiceFnc.d.ts +2 -0
- package/dist/quiz/util/choiceFnc.js +9 -0
- package/dist/quiz/util/commonFnc.d.ts +0 -0
- package/dist/quiz/util/commonFnc.js +1 -0
- package/dist/quiz/util/customHook.d.ts +0 -0
- package/dist/quiz/util/customHook.js +1 -0
- package/dist/quiz/util/customSelector.d.ts +5 -0
- package/dist/quiz/util/customSelector.js +16 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/homePage.d.ts +12 -0
- package/dist/types/homePage.js +2 -0
- package/package.json +23 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TestSchema } from "@nakamura-123/db";
|
|
3
|
+
import { Db } from "@nakamura-123/types";
|
|
4
|
+
interface BarChartProps {
|
|
5
|
+
subjectName: Db.SubjectTest;
|
|
6
|
+
TestDB: Realm.Results<TestSchema>;
|
|
7
|
+
}
|
|
8
|
+
declare const BarChartContainer: React.FC<BarChartProps>;
|
|
9
|
+
export default BarChartContainer;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
var react_1 = __importStar(require("react"));
|
|
30
|
+
var react_native_1 = require("react-native");
|
|
31
|
+
var react_redux_1 = require("react-redux");
|
|
32
|
+
var common_1 = require("@nakamura-123/common");
|
|
33
|
+
var lib_1 = require("@nakamura-123/lib");
|
|
34
|
+
var ChartControl_1 = __importDefault(require("./ChartControl"));
|
|
35
|
+
var BarChartContainer = function (_a) {
|
|
36
|
+
var subjectName = _a.subjectName, TestDB = _a.TestDB;
|
|
37
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
|
38
|
+
var _b = (0, react_1.useState)(0), currentPageIndex = _b[0], setCurrentPageIndex = _b[1];
|
|
39
|
+
var filteredDB = (0, react_1.useMemo)(function () {
|
|
40
|
+
return TestDB.filtered("subject = $0", subjectName);
|
|
41
|
+
}, [subjectName]);
|
|
42
|
+
var cnt = filteredDB.length;
|
|
43
|
+
(0, react_1.useEffect)(function () {
|
|
44
|
+
setCurrentPageIndex(cnt > 0 ? Math.floor((cnt - 1) / 5) : 0);
|
|
45
|
+
}, []);
|
|
46
|
+
var sortedTestDB = (0, react_1.useMemo)(function () {
|
|
47
|
+
return filteredDB.sorted("createdAt", false); // 降順 (新しい日付が先)
|
|
48
|
+
}, [filteredDB]);
|
|
49
|
+
var fullData = sortedTestDB.map(function (item, i) { return ({
|
|
50
|
+
label: String(i + 1),
|
|
51
|
+
value: item.percent,
|
|
52
|
+
color: lib_1.utilFnc.getLevelColor(item.level),
|
|
53
|
+
}); });
|
|
54
|
+
var adjusted = adjustToMultipleOfFive(fullData, cnt); // 5の倍数に調整
|
|
55
|
+
var adjustedData = lib_1.utilFnc.getElementsFromIndex(adjusted, currentPageIndex, 5); // 5つの要素を取得
|
|
56
|
+
(0, react_1.useEffect)(function () {
|
|
57
|
+
var filteredValues = adjustedData
|
|
58
|
+
.filter(function (item) { return item.color !== "transparent"; }) // 透明な色を除外
|
|
59
|
+
.map(function (item) { return item.value; }); // 値だけを取得
|
|
60
|
+
var average = lib_1.utilFnc.getAverage(filteredValues) || 0;
|
|
61
|
+
dispatch({ type: "score/setTestAverage", payload: average });
|
|
62
|
+
}, [adjustedData, dispatch]);
|
|
63
|
+
if (cnt === 0)
|
|
64
|
+
return null;
|
|
65
|
+
var maxValue = 100;
|
|
66
|
+
var barWidth = adjustedData.length > 6 ? 35 : 40;
|
|
67
|
+
var handleLeft = function () { return setCurrentPageIndex(currentPageIndex - 1); };
|
|
68
|
+
var handleRight = function () { return setCurrentPageIndex(currentPageIndex + 1); };
|
|
69
|
+
return (<react_native_1.View style={styles.container}>
|
|
70
|
+
<ChartControl_1.default onPressLeft={handleLeft} onPressRight={handleRight} title="模擬試験記録" showLeft={currentPageIndex > 0} showRight={currentPageIndex < cnt / 5 - 1}/>
|
|
71
|
+
{/* BarChart を使用 */}
|
|
72
|
+
<common_1.BarChart data={adjustedData} width={barWidth} maxValue={maxValue} toggle={currentPageIndex}/>
|
|
73
|
+
</react_native_1.View>);
|
|
74
|
+
};
|
|
75
|
+
function adjustToMultipleOfFive(data, cnt) {
|
|
76
|
+
var remainder = cnt % 5; // 余りを計算
|
|
77
|
+
if (remainder !== 0) {
|
|
78
|
+
var itemsToAdd = 5 - remainder; // 追加する要素数
|
|
79
|
+
for (var i = cnt; i < cnt + itemsToAdd; i++) {
|
|
80
|
+
data.push({
|
|
81
|
+
label: String(i + 1),
|
|
82
|
+
value: 0,
|
|
83
|
+
color: "transparent",
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return data;
|
|
88
|
+
}
|
|
89
|
+
var styles = react_native_1.StyleSheet.create({
|
|
90
|
+
container: {
|
|
91
|
+
padding: 16,
|
|
92
|
+
backgroundColor: lib_1.colors.bkBeige,
|
|
93
|
+
borderRadius: 20,
|
|
94
|
+
borderWidth: 1,
|
|
95
|
+
borderColor: lib_1.colors.ltBlack,
|
|
96
|
+
marginBottom: 10,
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
exports.default = BarChartContainer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ColorKeys } from "@nakamura-123/lib";
|
|
3
|
+
interface SvgBarProps {
|
|
4
|
+
data: {
|
|
5
|
+
value: number;
|
|
6
|
+
label: string;
|
|
7
|
+
color: ColorKeys;
|
|
8
|
+
}[];
|
|
9
|
+
}
|
|
10
|
+
declare const SvgBarChart: React.FC<SvgBarProps>;
|
|
11
|
+
export default SvgBarChart;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
var react_1 = __importDefault(require("react"));
|
|
30
|
+
var react_native_1 = require("react-native");
|
|
31
|
+
var react_native_svg_1 = __importStar(require("react-native-svg"));
|
|
32
|
+
var lib_1 = require("@nakamura-123/lib");
|
|
33
|
+
var SvgBarChart = function (_a) {
|
|
34
|
+
var data = _a.data;
|
|
35
|
+
var maxHeight = 200; // 棒グラフの最大高さ
|
|
36
|
+
var maxValue = Math.max.apply(Math, data.map(function (d) { return d.value; })); // データの最大値
|
|
37
|
+
return (<react_native_1.View style={{ alignItems: "center", margin: 20 }}>
|
|
38
|
+
<react_native_svg_1.default height={maxHeight + 50} width={data.length * 70}>
|
|
39
|
+
{data.map(function (item, index) {
|
|
40
|
+
var barHeight = (item.value / maxValue) * maxHeight; // 高さの計算
|
|
41
|
+
var x = index * 70 + 20; // 棒のX位置
|
|
42
|
+
var y = maxHeight - barHeight; // 棒のY位置
|
|
43
|
+
return (<react_native_svg_1.G key={index}>
|
|
44
|
+
{/* 値ラベル */}
|
|
45
|
+
<react_native_svg_1.Text x={x + 15} y={y - 10} fontSize="12" fill="#333" textAnchor="middle">
|
|
46
|
+
{item.value}%
|
|
47
|
+
</react_native_svg_1.Text>
|
|
48
|
+
{/* 棒 */}
|
|
49
|
+
<react_native_svg_1.Rect x={x} y={y} width={30} height={barHeight} fill={lib_1.colors[item.color]} rx={10} // 角丸
|
|
50
|
+
/>
|
|
51
|
+
{/* ラベル */}
|
|
52
|
+
<react_native_svg_1.Text x={x + 15} y={maxHeight + 20} fontSize="12" fill="#333" textAnchor="middle">
|
|
53
|
+
{item.label}
|
|
54
|
+
</react_native_svg_1.Text>
|
|
55
|
+
</react_native_svg_1.G>);
|
|
56
|
+
})}
|
|
57
|
+
</react_native_svg_1.default>
|
|
58
|
+
</react_native_1.View>);
|
|
59
|
+
};
|
|
60
|
+
exports.default = SvgBarChart;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface ChartControlProps {
|
|
3
|
+
title: string;
|
|
4
|
+
onPressLeft: () => void;
|
|
5
|
+
onPressRight: () => void;
|
|
6
|
+
showLeft?: boolean;
|
|
7
|
+
showRight?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const ChartControl: React.FC<ChartControlProps>;
|
|
10
|
+
export default ChartControl;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var react_1 = __importDefault(require("react"));
|
|
7
|
+
var react_native_1 = require("react-native");
|
|
8
|
+
var common_1 = require("@nakamura-123/common");
|
|
9
|
+
var ChartControl = function (_a) {
|
|
10
|
+
var title = _a.title, onPressLeft = _a.onPressLeft, onPressRight = _a.onPressRight, _b = _a.showLeft, showLeft = _b === void 0 ? true : _b, _c = _a.showRight, showRight = _c === void 0 ? true : _c;
|
|
11
|
+
return (<react_native_1.View style={styles.container}>
|
|
12
|
+
{/* 左矢印 */}
|
|
13
|
+
<react_native_1.View style={styles.iconContainer}>
|
|
14
|
+
{showLeft && (<common_1.IconInCircle name="arrow-left" size={20} circleColor="beige" onPress={onPressLeft}/>)}
|
|
15
|
+
</react_native_1.View>
|
|
16
|
+
|
|
17
|
+
{/* タイトル */}
|
|
18
|
+
<common_1.MyText style={styles.title}>{title}</common_1.MyText>
|
|
19
|
+
|
|
20
|
+
{/* 右矢印 */}
|
|
21
|
+
<react_native_1.View style={styles.iconContainer}>
|
|
22
|
+
{showRight && (<common_1.IconInCircle name="arrow-right" size={20} circleColor="beige" onPress={onPressRight}/>)}
|
|
23
|
+
</react_native_1.View>
|
|
24
|
+
</react_native_1.View>);
|
|
25
|
+
};
|
|
26
|
+
var styles = react_native_1.StyleSheet.create({
|
|
27
|
+
container: {
|
|
28
|
+
flexDirection: "row",
|
|
29
|
+
alignItems: "center",
|
|
30
|
+
justifyContent: "center", // 中央揃えを維持
|
|
31
|
+
paddingTop: 10,
|
|
32
|
+
paddingHorizontal: 20,
|
|
33
|
+
},
|
|
34
|
+
iconContainer: {
|
|
35
|
+
width: 40, // アイコンがない場合でもスペースを確保
|
|
36
|
+
alignItems: "center",
|
|
37
|
+
},
|
|
38
|
+
title: {
|
|
39
|
+
textAlign: "center",
|
|
40
|
+
flex: 1, // タイトルが中央に配置される
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
exports.default = ChartControl;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TestSchema } from "@nakamura-123/db";
|
|
3
|
+
import { Db } from "@nakamura-123/types";
|
|
4
|
+
type Square3sProps = {
|
|
5
|
+
subjectName: Db.SubjectTest;
|
|
6
|
+
TestDB: Realm.Results<TestSchema>;
|
|
7
|
+
};
|
|
8
|
+
declare const Square3s: React.FC<Square3sProps>;
|
|
9
|
+
export default Square3s;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var react_1 = __importDefault(require("react"));
|
|
7
|
+
var react_native_1 = require("react-native");
|
|
8
|
+
var common_1 = require("@nakamura-123/common");
|
|
9
|
+
var Square3s = function (_a) {
|
|
10
|
+
var subjectName = _a.subjectName, TestDB = _a.TestDB;
|
|
11
|
+
// 回数を数える
|
|
12
|
+
var ThisTestDB = TestDB.filtered("subject == $0", subjectName);
|
|
13
|
+
var challengeCnt = ThisTestDB.length;
|
|
14
|
+
var successCnt = ThisTestDB.filtered("isSuccess == true").length;
|
|
15
|
+
var perfectCnt = ThisTestDB.filtered("isPerfect == true").length;
|
|
16
|
+
var info = [
|
|
17
|
+
{ cnt: challengeCnt, label: "試験", icon: "clipboard" },
|
|
18
|
+
{ cnt: successCnt, label: "合格", icon: "check-circle" },
|
|
19
|
+
{ cnt: perfectCnt, label: "満点", icon: "paw" },
|
|
20
|
+
];
|
|
21
|
+
return (<react_native_1.View style={styles.container}>
|
|
22
|
+
{info.map(function (item, index) {
|
|
23
|
+
return (<common_1.SquareIcon key={index} cnt={item.cnt} cntText="回" label={item.label} icon={item.icon}/>);
|
|
24
|
+
})}
|
|
25
|
+
</react_native_1.View>);
|
|
26
|
+
};
|
|
27
|
+
var styles = react_native_1.StyleSheet.create({
|
|
28
|
+
container: {
|
|
29
|
+
flexDirection: "row",
|
|
30
|
+
justifyContent: "space-between",
|
|
31
|
+
alignItems: "center",
|
|
32
|
+
marginVertical: 10,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
exports.default = Square3s;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Nav, Db } from "@nakamura-123/types";
|
|
3
|
+
interface UnitPageProps {
|
|
4
|
+
navigation: Nav.NavigationProp<"Unit">;
|
|
5
|
+
pageSetting: {
|
|
6
|
+
subjectName: Db.SubjectBasic;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
declare const UnitPage: React.FC<UnitPageProps>;
|
|
10
|
+
export default UnitPage;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var react_native_1 = require("react-native");
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var react_redux_1 = require("react-redux");
|
|
9
|
+
var UnitPage = function (_a) {
|
|
10
|
+
var navigation = _a.navigation, pageSetting = _a.pageSetting;
|
|
11
|
+
var subjectName = pageSetting.subjectName;
|
|
12
|
+
var categoryList = (0, react_redux_1.useSelector)(function (state) { return state.app[subjectName]; });
|
|
13
|
+
return <react_native_1.View></react_native_1.View>;
|
|
14
|
+
};
|
|
15
|
+
exports.default = UnitPage;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Results } from "realm";
|
|
2
|
+
import { QSelected } from "@nakamura-123/types";
|
|
3
|
+
import { BadgeSchema } from "@nakamura-123/db";
|
|
4
|
+
import { badgeSet } from "@nakamura-123/lib";
|
|
5
|
+
import { FilteredTest } from "./badgeFilter";
|
|
6
|
+
type RB = Results<BadgeSchema>;
|
|
7
|
+
type BadgeInfo = badgeSet.BadgeInfo;
|
|
8
|
+
type BadgeType = badgeSet.BadgeType;
|
|
9
|
+
type Selected = QSelected.Selected;
|
|
10
|
+
export declare const getMissingBadgeInfos: (BadgeDB: RB, type: BadgeType) => BadgeInfo[];
|
|
11
|
+
export declare const getMissingDailyBadgeInfos: (BadgeDB: RB) => BadgeInfo[];
|
|
12
|
+
export declare const checkTest: (testData: FilteredTest, fnc: string | undefined) => boolean;
|
|
13
|
+
export declare const addBadgeTitleInfo: (badge: BadgeInfo, selected: Selected) => BadgeInfo;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.addBadgeTitleInfo = exports.checkTest = exports.getMissingDailyBadgeInfos = exports.getMissingBadgeInfos = void 0;
|
|
24
|
+
var lib_1 = require("@nakamura-123/lib");
|
|
25
|
+
// 獲得できていないバッジ情報を取得
|
|
26
|
+
var getMissingBadgeInfos = function (BadgeDB, type) {
|
|
27
|
+
var selectedBadgeSet = lib_1.badgeSet.badge5Sets[type];
|
|
28
|
+
var collectedIds = BadgeDB.map(function (badge) { return badge.badgeId; });
|
|
29
|
+
var missingBadgeInfo = selectedBadgeSet.filter(function (badgeInfo) { return !collectedIds.includes(badgeInfo.id); });
|
|
30
|
+
return missingBadgeInfo;
|
|
31
|
+
};
|
|
32
|
+
exports.getMissingBadgeInfos = getMissingBadgeInfos;
|
|
33
|
+
// デイリーバッジの未獲得情報を取得
|
|
34
|
+
var getMissingDailyBadgeInfos = function (BadgeDB) {
|
|
35
|
+
var KEYS = ["day", "week", "total", "continue"];
|
|
36
|
+
var missingBadgeInfo = [];
|
|
37
|
+
KEYS.forEach(function (key) {
|
|
38
|
+
var missingBadges = (0, exports.getMissingBadgeInfos)(BadgeDB, key);
|
|
39
|
+
missingBadgeInfo = __spreadArray(__spreadArray([], missingBadgeInfo, true), missingBadges, true);
|
|
40
|
+
});
|
|
41
|
+
return missingBadgeInfo;
|
|
42
|
+
};
|
|
43
|
+
exports.getMissingDailyBadgeInfos = getMissingDailyBadgeInfos;
|
|
44
|
+
// テストの合格回数と満点回数から、バッジの取得を判定
|
|
45
|
+
// 一瞬前にテストデータを保存しているため、ここでscoreを取得する必要はない
|
|
46
|
+
var checkTest = function (testData, fnc) {
|
|
47
|
+
var successCnt = testData.successCnt, perfectCnt = testData.perfectCnt;
|
|
48
|
+
if (fnc === "success1" && successCnt >= 1)
|
|
49
|
+
return true;
|
|
50
|
+
if (fnc === "success2" && successCnt >= 2)
|
|
51
|
+
return true;
|
|
52
|
+
if (fnc === "success3" && successCnt >= 3)
|
|
53
|
+
return true;
|
|
54
|
+
if (fnc === "perfect1" && perfectCnt >= 1)
|
|
55
|
+
return true;
|
|
56
|
+
if (fnc === "perfect2" && perfectCnt >= 2)
|
|
57
|
+
return true;
|
|
58
|
+
return false;
|
|
59
|
+
};
|
|
60
|
+
exports.checkTest = checkTest;
|
|
61
|
+
// バッジに必要な情報(タイトル、カテゴリー、科目)を追加
|
|
62
|
+
var addBadgeTitleInfo = function (badge, selected) {
|
|
63
|
+
var title = selected.lesson.title;
|
|
64
|
+
var subject = selected.subject;
|
|
65
|
+
var category = selected.category.toString();
|
|
66
|
+
return __assign(__assign({}, badge), { title: title, subject: subject, category: category });
|
|
67
|
+
};
|
|
68
|
+
exports.addBadgeTitleInfo = addBadgeTitleInfo;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Results } from "realm";
|
|
2
|
+
import { DailyLogSchema } from "@nakamura-123/db";
|
|
3
|
+
import { badgeSet } from "@nakamura-123/lib";
|
|
4
|
+
type RD = Results<DailyLogSchema>;
|
|
5
|
+
type BadgeInfo = badgeSet.BadgeInfo;
|
|
6
|
+
type DailyData = {
|
|
7
|
+
today: number;
|
|
8
|
+
weekly: number;
|
|
9
|
+
total: number;
|
|
10
|
+
consecutive: number;
|
|
11
|
+
};
|
|
12
|
+
export declare const checkDaily: (dailyData: DailyData, info: BadgeInfo) => boolean;
|
|
13
|
+
export declare const addDailyBadgeTitleInfo: (badge: BadgeInfo) => BadgeInfo;
|
|
14
|
+
export declare const getDailyLogData: (DailyDB: RD) => DailyData;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.getDailyLogData = exports.addDailyBadgeTitleInfo = exports.checkDaily = void 0;
|
|
15
|
+
var lib_1 = require("@nakamura-123/lib");
|
|
16
|
+
var gradeFnc_1 = require("./gradeFnc");
|
|
17
|
+
var dailyBadgeCategorys = lib_1.badgeSet.dailyBadgeCategorys;
|
|
18
|
+
// デイリーバッジの取得条件を確認
|
|
19
|
+
var checkDaily = function (dailyData, info) {
|
|
20
|
+
var today = dailyData.today, weekly = dailyData.weekly, total = dailyData.total, consecutive = dailyData.consecutive;
|
|
21
|
+
var id = info.id, fnc = info.fnc;
|
|
22
|
+
switch (fnc) {
|
|
23
|
+
case "day":
|
|
24
|
+
return today >= id * 10;
|
|
25
|
+
case "week":
|
|
26
|
+
return weekly >= id * 100;
|
|
27
|
+
case "total":
|
|
28
|
+
return total >= id * 1000;
|
|
29
|
+
case "continue":
|
|
30
|
+
return consecutive >= id;
|
|
31
|
+
default:
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
exports.checkDaily = checkDaily;
|
|
36
|
+
// デイリーバッジ保存や表示に必要な情報を追加
|
|
37
|
+
var addDailyBadgeTitleInfo = function (badge) {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
var fnc = badge.fnc;
|
|
40
|
+
var title = (_b = (_a = dailyBadgeCategorys.find(function (item) { return item.category === fnc; })) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : "バッジ獲得";
|
|
41
|
+
return __assign(__assign({}, badge), { title: title, subject: "daily", category: fnc });
|
|
42
|
+
};
|
|
43
|
+
exports.addDailyBadgeTitleInfo = addDailyBadgeTitleInfo;
|
|
44
|
+
// デイリーログの情報を取得
|
|
45
|
+
var getDailyLogData = function (DailyDB) {
|
|
46
|
+
// 今日の問題数取得
|
|
47
|
+
var today = lib_1.timeFnc.getToday();
|
|
48
|
+
var todayLog = DailyDB.filtered("date == $0", today)[0];
|
|
49
|
+
var quizCnt = todayLog ? (0, gradeFnc_1.formatTodayLog)(todayLog).quizCnt : 0;
|
|
50
|
+
// 今週の問題数取得
|
|
51
|
+
var weeklyDays = lib_1.timeFnc.getThisWeek(today);
|
|
52
|
+
var weeklyCntArr = (0, gradeFnc_1.getWeeklyCnts)(DailyDB, weeklyDays);
|
|
53
|
+
var weeklyCnt = weeklyCntArr.reduce(function (sum, cnt) { return sum + cnt; }, 0);
|
|
54
|
+
// その他の取得
|
|
55
|
+
var totalQuizCnt = (0, gradeFnc_1.getTotalQuizCnt)(DailyDB);
|
|
56
|
+
var consecutiveDays = (0, gradeFnc_1.getConsecutiveStudyDays)(DailyDB);
|
|
57
|
+
// 結果をまとめて返す
|
|
58
|
+
return {
|
|
59
|
+
today: quizCnt,
|
|
60
|
+
weekly: weeklyCnt,
|
|
61
|
+
total: totalQuizCnt,
|
|
62
|
+
consecutive: consecutiveDays,
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
exports.getDailyLogData = getDailyLogData;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Results } from "realm";
|
|
2
|
+
import { MiniTestSchema, TestSchema } from "@nakamura-123/db";
|
|
3
|
+
import { QSelected } from "@nakamura-123/types";
|
|
4
|
+
import { BadgeSchema } from "@nakamura-123/db";
|
|
5
|
+
type RB = Results<BadgeSchema>;
|
|
6
|
+
type RM = Results<MiniTestSchema>;
|
|
7
|
+
type RT = Results<TestSchema>;
|
|
8
|
+
type Selected = QSelected.Selected;
|
|
9
|
+
export type FilteredTest = {
|
|
10
|
+
successCnt: number;
|
|
11
|
+
perfectCnt: number;
|
|
12
|
+
};
|
|
13
|
+
export declare const filterBasicBadge: (BadgeDB: RB, selected: Selected) => RB;
|
|
14
|
+
export declare const filterMiniTest: (MiniTestDB: RM, selected: Selected) => FilteredTest;
|
|
15
|
+
export declare const filterTest: (TestDB: RT, selected: Selected) => FilteredTest;
|
|
16
|
+
export declare const filterDailyLogBadge: (BadgeDB: RB) => RB;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterDailyLogBadge = exports.filterTest = exports.filterMiniTest = exports.filterBasicBadge = void 0;
|
|
4
|
+
// 01.ベーシックの指定カテゴリーののバッジを取得
|
|
5
|
+
var filterBasicBadge = function (BadgeDB, selected) {
|
|
6
|
+
var subject = selected.subject, category = selected.category;
|
|
7
|
+
var filteredBadges = BadgeDB.filtered("subject == $0 && category == $1", subject, category.toString());
|
|
8
|
+
return filteredBadges;
|
|
9
|
+
};
|
|
10
|
+
exports.filterBasicBadge = filterBasicBadge;
|
|
11
|
+
// 02.ミニテストの合格回数と満点回数を取得
|
|
12
|
+
var filterMiniTest = function (MiniTestDB, selected) {
|
|
13
|
+
var subject = selected.subject, category = selected.category;
|
|
14
|
+
var filteredTest = MiniTestDB.filtered("subject == $0 && categoryKey == $1 && percent > $2", subject, category, 85);
|
|
15
|
+
var successCnt = filteredTest.length;
|
|
16
|
+
var perfectCnt = filteredTest.filtered("percent == $0", 100).length;
|
|
17
|
+
return { successCnt: successCnt, perfectCnt: perfectCnt };
|
|
18
|
+
};
|
|
19
|
+
exports.filterMiniTest = filterMiniTest;
|
|
20
|
+
// 03.模擬試験の合格回数と満点回数を取得
|
|
21
|
+
var filterTest = function (TestDB, selected) {
|
|
22
|
+
var subject = selected.subject;
|
|
23
|
+
var filteredTest = TestDB.filtered("subject == $0 && percent > $1", subject, 85);
|
|
24
|
+
var successCnt = filteredTest.length;
|
|
25
|
+
var perfectCnt = filteredTest.filtered("percent == $0", 100).length;
|
|
26
|
+
return { successCnt: successCnt, perfectCnt: perfectCnt };
|
|
27
|
+
};
|
|
28
|
+
exports.filterTest = filterTest;
|
|
29
|
+
// 04.DailyLogの情報を取得
|
|
30
|
+
var filterDailyLogBadge = function (BadgeDB) {
|
|
31
|
+
return BadgeDB.filtered("subject == $0", "daily");
|
|
32
|
+
};
|
|
33
|
+
exports.filterDailyLogBadge = filterDailyLogBadge;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Results } from "realm";
|
|
2
|
+
import { DailyLogSchema, MiniTestSchema, TestSchema } from "@nakamura-123/db";
|
|
3
|
+
import { QSelected } from "@nakamura-123/types";
|
|
4
|
+
import { BadgeSchema } from "@nakamura-123/db";
|
|
5
|
+
import { badgeSet } from "@nakamura-123/lib";
|
|
6
|
+
type RB = Results<BadgeSchema>;
|
|
7
|
+
type RM = Results<MiniTestSchema>;
|
|
8
|
+
type RT = Results<TestSchema>;
|
|
9
|
+
type RD = Results<DailyLogSchema>;
|
|
10
|
+
type Selected = QSelected.Selected;
|
|
11
|
+
type BadgeInfo = badgeSet.BadgeInfo;
|
|
12
|
+
export declare const checkBasicBadge: (BadgeDB: RB, MiniDB: RM, selected: Selected) => BadgeInfo[];
|
|
13
|
+
export declare const checkTestBadge: (BadgeDB: RB, TestDB: RT, selected: Selected) => BadgeInfo[];
|
|
14
|
+
export declare const checkDailyLogBadge: (BadgeDB: RB, DailyLogDB: RD) => BadgeInfo[];
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkDailyLogBadge = exports.checkTestBadge = exports.checkBasicBadge = void 0;
|
|
4
|
+
var badgeFilter_1 = require("./badgeFilter");
|
|
5
|
+
var badgeBasicFnc_1 = require("./badgeBasicFnc");
|
|
6
|
+
var badgeDailyFnc_1 = require("./badgeDailyFnc");
|
|
7
|
+
var DEFAULT_TEST_DATA = { successCnt: 0, perfectCnt: 0 };
|
|
8
|
+
// 1.ベーシック問題のバッジを取得
|
|
9
|
+
var checkBasicBadge = function (BadgeDB, MiniDB, selected) {
|
|
10
|
+
var type = selected.type;
|
|
11
|
+
// 01.未取得のバッジinfoを配列で取得
|
|
12
|
+
var collectedBadges = (0, badgeFilter_1.filterBasicBadge)(BadgeDB, selected);
|
|
13
|
+
var missingBadgeInfos = (0, badgeBasicFnc_1.getMissingBadgeInfos)(collectedBadges, "basic");
|
|
14
|
+
// 02.ミニテストの合格回数と満点回数を取得
|
|
15
|
+
var miniTestData = type === "miniTest" ? (0, badgeFilter_1.filterMiniTest)(MiniDB, selected) : DEFAULT_TEST_DATA;
|
|
16
|
+
// 03.取得条件を満たしているバッジを判定
|
|
17
|
+
var eligibleBadges = missingBadgeInfos.filter(function (info) {
|
|
18
|
+
if (info.fnc === "first")
|
|
19
|
+
return true;
|
|
20
|
+
if (type === "miniTest")
|
|
21
|
+
return (0, badgeBasicFnc_1.checkTest)(miniTestData, info.fnc);
|
|
22
|
+
return false;
|
|
23
|
+
});
|
|
24
|
+
// 04.タイトルなどの必要情報を挿入
|
|
25
|
+
eligibleBadges = eligibleBadges.map(function (badge) {
|
|
26
|
+
return (0, badgeBasicFnc_1.addBadgeTitleInfo)(badge, selected);
|
|
27
|
+
});
|
|
28
|
+
return eligibleBadges;
|
|
29
|
+
};
|
|
30
|
+
exports.checkBasicBadge = checkBasicBadge;
|
|
31
|
+
// 2.模擬試験のバッジを取得
|
|
32
|
+
var checkTestBadge = function (BadgeDB, TestDB, selected) {
|
|
33
|
+
var type = selected.type;
|
|
34
|
+
// 01.未取得のバッジinfoを配列で取得
|
|
35
|
+
var collectedBadges = (0, badgeFilter_1.filterBasicBadge)(BadgeDB, selected);
|
|
36
|
+
var missingBadgeInfos = (0, badgeBasicFnc_1.getMissingBadgeInfos)(collectedBadges, "test");
|
|
37
|
+
// 02.テストの合格回数と満点回数を取得
|
|
38
|
+
var testData = type === "test" ? (0, badgeFilter_1.filterTest)(TestDB, selected) : DEFAULT_TEST_DATA;
|
|
39
|
+
// 03.取得条件を満たしているバッジを判定
|
|
40
|
+
var eligibleBadges = missingBadgeInfos.filter(function (info) {
|
|
41
|
+
if (info.fnc === "first")
|
|
42
|
+
return true;
|
|
43
|
+
else
|
|
44
|
+
return (0, badgeBasicFnc_1.checkTest)(testData, info.fnc);
|
|
45
|
+
});
|
|
46
|
+
// 04.タイトルなどの必要情報を挿入
|
|
47
|
+
eligibleBadges = eligibleBadges.map(function (badge) {
|
|
48
|
+
return (0, badgeBasicFnc_1.addBadgeTitleInfo)(badge, selected);
|
|
49
|
+
});
|
|
50
|
+
return eligibleBadges;
|
|
51
|
+
};
|
|
52
|
+
exports.checkTestBadge = checkTestBadge;
|
|
53
|
+
// 3.デイリーログのバッジを取得
|
|
54
|
+
var checkDailyLogBadge = function (BadgeDB, DailyLogDB) {
|
|
55
|
+
// 01.未取得のバッジinfoを配列で取得
|
|
56
|
+
var collectedBadges = (0, badgeFilter_1.filterDailyLogBadge)(BadgeDB);
|
|
57
|
+
var missingBadgeInfos = (0, badgeBasicFnc_1.getMissingDailyBadgeInfos)(collectedBadges);
|
|
58
|
+
// 02.デイリーログの情報を取得(今日の問題数、今週の問題数、累計問題数、連続日数)
|
|
59
|
+
var dailyLogData = (0, badgeDailyFnc_1.getDailyLogData)(DailyLogDB);
|
|
60
|
+
// 03.取得条件を満たしているバッジを判定
|
|
61
|
+
var eligibleBadges = missingBadgeInfos.filter(function (info) {
|
|
62
|
+
return (0, badgeDailyFnc_1.checkDaily)(dailyLogData, info);
|
|
63
|
+
});
|
|
64
|
+
// 04.タイトルなどの必要情報を挿入
|
|
65
|
+
eligibleBadges = eligibleBadges.map(function (badge) { return (0, badgeDailyFnc_1.addDailyBadgeTitleInfo)(badge); });
|
|
66
|
+
return eligibleBadges;
|
|
67
|
+
};
|
|
68
|
+
exports.checkDailyLogBadge = checkDailyLogBadge;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { dQuestionSchema } from "@nakamura-123/db";
|
|
2
|
+
import { CfgInitial, QuizInitial } from "@nakamura-123/stores";
|
|
3
|
+
import { Results } from "realm";
|
|
4
|
+
import { Store } from "@nakamura-123/types";
|
|
5
|
+
type QuestionType = typeof dQuestionSchema.prototype;
|
|
6
|
+
type QuestionResult = Results<QuestionType>;
|
|
7
|
+
type startCfg = CfgInitial["startCfg"];
|
|
8
|
+
type Selected = QuizInitial["selected"];
|
|
9
|
+
export declare const getBasicQuizList: (QuestionDB: QuestionResult, startCfg: startCfg, selected: Selected) => Store.DQInStore[];
|
|
10
|
+
export declare const getMiniTestQuestions: (QuestionDB: QuestionResult, subjectType: "unit" | "year", key: number, cnt: number) => Store.DQInStore[];
|
|
11
|
+
export declare const getTestQuestions: (QuestionDB: QuestionResult, cnt: number) => Store.DQInStore[];
|
|
12
|
+
export declare const getBootQuestions: (QuestionDB: QuestionResult, startCfg: startCfg, outOfUnitRange: number[], outOfYearRange: number[]) => Store.DQInStore[];
|
|
13
|
+
export {};
|