react-native-elearn-ui 0.1.0
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/LICENSE +20 -0
- package/README.md +37 -0
- package/lib/module/components/Button.js +82 -0
- package/lib/module/components/Button.js.map +1 -0
- package/lib/module/components/Card.js +49 -0
- package/lib/module/components/Card.js.map +1 -0
- package/lib/module/components/CircularProgress.js +80 -0
- package/lib/module/components/CircularProgress.js.map +1 -0
- package/lib/module/components/Icon.js +268 -0
- package/lib/module/components/Icon.js.map +1 -0
- package/lib/module/components/ProgressBar.js +39 -0
- package/lib/module/components/ProgressBar.js.map +1 -0
- package/lib/module/components/Typography.js +102 -0
- package/lib/module/components/Typography.js.map +1 -0
- package/lib/module/components/index.js +10 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/context/ElearnConfigContext.js +76 -0
- package/lib/module/context/ElearnConfigContext.js.map +1 -0
- package/lib/module/context/ThemeContext.js +45 -0
- package/lib/module/context/ThemeContext.js.map +1 -0
- package/lib/module/index.js +13 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/multiply.js +6 -0
- package/lib/module/multiply.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/screens/HomeScreen.js +330 -0
- package/lib/module/screens/HomeScreen.js.map +1 -0
- package/lib/module/screens/QbankScreen.js +200 -0
- package/lib/module/screens/QbankScreen.js.map +1 -0
- package/lib/module/screens/QuestionScreen.js +383 -0
- package/lib/module/screens/QuestionScreen.js.map +1 -0
- package/lib/module/screens/QuizStartScreen.js +230 -0
- package/lib/module/screens/QuizStartScreen.js.map +1 -0
- package/lib/module/screens/ResultScreen.js +318 -0
- package/lib/module/screens/ResultScreen.js.map +1 -0
- package/lib/module/screens/TopicListScreen.js +222 -0
- package/lib/module/screens/TopicListScreen.js.map +1 -0
- package/lib/module/screens/index.js +9 -0
- package/lib/module/screens/index.js.map +1 -0
- package/lib/module/types/index.js +2 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/components/Button.d.ts +14 -0
- package/lib/typescript/src/components/Button.d.ts.map +1 -0
- package/lib/typescript/src/components/Card.d.ts +12 -0
- package/lib/typescript/src/components/Card.d.ts.map +1 -0
- package/lib/typescript/src/components/CircularProgress.d.ts +15 -0
- package/lib/typescript/src/components/CircularProgress.d.ts.map +1 -0
- package/lib/typescript/src/components/Icon.d.ts +11 -0
- package/lib/typescript/src/components/Icon.d.ts.map +1 -0
- package/lib/typescript/src/components/ProgressBar.d.ts +11 -0
- package/lib/typescript/src/components/ProgressBar.d.ts.map +1 -0
- package/lib/typescript/src/components/Typography.d.ts +12 -0
- package/lib/typescript/src/components/Typography.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +9 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -0
- package/lib/typescript/src/context/ElearnConfigContext.d.ts +22 -0
- package/lib/typescript/src/context/ElearnConfigContext.d.ts.map +1 -0
- package/lib/typescript/src/context/ThemeContext.d.ts +11 -0
- package/lib/typescript/src/context/ThemeContext.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +6 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/multiply.d.ts +2 -0
- package/lib/typescript/src/multiply.d.ts.map +1 -0
- package/lib/typescript/src/screens/HomeScreen.d.ts +3 -0
- package/lib/typescript/src/screens/HomeScreen.d.ts.map +1 -0
- package/lib/typescript/src/screens/QbankScreen.d.ts +3 -0
- package/lib/typescript/src/screens/QbankScreen.d.ts.map +1 -0
- package/lib/typescript/src/screens/QuestionScreen.d.ts +11 -0
- package/lib/typescript/src/screens/QuestionScreen.d.ts.map +1 -0
- package/lib/typescript/src/screens/QuizStartScreen.d.ts +10 -0
- package/lib/typescript/src/screens/QuizStartScreen.d.ts.map +1 -0
- package/lib/typescript/src/screens/ResultScreen.d.ts +11 -0
- package/lib/typescript/src/screens/ResultScreen.d.ts.map +1 -0
- package/lib/typescript/src/screens/TopicListScreen.d.ts +9 -0
- package/lib/typescript/src/screens/TopicListScreen.d.ts.map +1 -0
- package/lib/typescript/src/screens/index.d.ts +7 -0
- package/lib/typescript/src/screens/index.d.ts.map +1 -0
- package/lib/typescript/src/types/index.d.ts +107 -0
- package/lib/typescript/src/types/index.d.ts.map +1 -0
- package/package.json +121 -0
- package/src/components/Button.tsx +101 -0
- package/src/components/Card.tsx +57 -0
- package/src/components/CircularProgress.tsx +93 -0
- package/src/components/Icon.tsx +338 -0
- package/src/components/ProgressBar.tsx +47 -0
- package/src/components/Typography.tsx +112 -0
- package/src/components/index.ts +8 -0
- package/src/context/ElearnConfigContext.tsx +90 -0
- package/src/context/ThemeContext.tsx +37 -0
- package/src/index.tsx +33 -0
- package/src/multiply.tsx +3 -0
- package/src/screens/HomeScreen.tsx +291 -0
- package/src/screens/QbankScreen.tsx +176 -0
- package/src/screens/QuestionScreen.tsx +402 -0
- package/src/screens/QuizStartScreen.tsx +215 -0
- package/src/screens/ResultScreen.tsx +303 -0
- package/src/screens/TopicListScreen.tsx +200 -0
- package/src/screens/index.ts +6 -0
- package/src/types/index.ts +122 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Text } from 'react-native';
|
|
5
|
+
import { useTheme } from "../context/ThemeContext.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export const Typography = ({
|
|
8
|
+
variant = 'body',
|
|
9
|
+
color,
|
|
10
|
+
align = 'auto',
|
|
11
|
+
bold = false,
|
|
12
|
+
medium = false,
|
|
13
|
+
style,
|
|
14
|
+
children,
|
|
15
|
+
...props
|
|
16
|
+
}) => {
|
|
17
|
+
const theme = useTheme();
|
|
18
|
+
const getStyleForVariant = () => {
|
|
19
|
+
switch (variant) {
|
|
20
|
+
case 'h1':
|
|
21
|
+
return {
|
|
22
|
+
fontSize: 24,
|
|
23
|
+
lineHeight: 32,
|
|
24
|
+
fontWeight: '700',
|
|
25
|
+
fontFamily: theme.fontBold
|
|
26
|
+
};
|
|
27
|
+
case 'h2':
|
|
28
|
+
return {
|
|
29
|
+
fontSize: 18,
|
|
30
|
+
lineHeight: 24,
|
|
31
|
+
fontWeight: '600',
|
|
32
|
+
fontFamily: theme.fontMedium
|
|
33
|
+
};
|
|
34
|
+
case 'h3':
|
|
35
|
+
return {
|
|
36
|
+
fontSize: 16,
|
|
37
|
+
lineHeight: 22,
|
|
38
|
+
fontWeight: '600',
|
|
39
|
+
fontFamily: theme.fontMedium
|
|
40
|
+
};
|
|
41
|
+
case 'body':
|
|
42
|
+
return {
|
|
43
|
+
fontSize: 14,
|
|
44
|
+
lineHeight: 20,
|
|
45
|
+
fontWeight: '400',
|
|
46
|
+
fontFamily: theme.fontRegular
|
|
47
|
+
};
|
|
48
|
+
case 'bodyLight':
|
|
49
|
+
return {
|
|
50
|
+
fontSize: 14,
|
|
51
|
+
lineHeight: 20,
|
|
52
|
+
fontWeight: '300',
|
|
53
|
+
fontFamily: theme.fontRegular
|
|
54
|
+
};
|
|
55
|
+
case 'caption':
|
|
56
|
+
return {
|
|
57
|
+
fontSize: 12,
|
|
58
|
+
lineHeight: 16,
|
|
59
|
+
fontWeight: '400',
|
|
60
|
+
fontFamily: theme.fontRegular
|
|
61
|
+
};
|
|
62
|
+
case 'button':
|
|
63
|
+
return {
|
|
64
|
+
fontSize: 15,
|
|
65
|
+
lineHeight: 20,
|
|
66
|
+
fontWeight: '600',
|
|
67
|
+
fontFamily: theme.fontMedium
|
|
68
|
+
};
|
|
69
|
+
case 'label':
|
|
70
|
+
return {
|
|
71
|
+
fontSize: 13,
|
|
72
|
+
lineHeight: 18,
|
|
73
|
+
fontWeight: '500',
|
|
74
|
+
fontFamily: theme.fontMedium
|
|
75
|
+
};
|
|
76
|
+
default:
|
|
77
|
+
return {};
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
const defaultColor = () => {
|
|
81
|
+
if (variant === 'caption' || variant === 'bodyLight') {
|
|
82
|
+
return theme.textSecondary;
|
|
83
|
+
}
|
|
84
|
+
return theme.textPrimary;
|
|
85
|
+
};
|
|
86
|
+
const textStyle = [getStyleForVariant(), {
|
|
87
|
+
color: color || defaultColor(),
|
|
88
|
+
textAlign: align
|
|
89
|
+
}, bold && {
|
|
90
|
+
fontWeight: '700',
|
|
91
|
+
fontFamily: theme.fontBold
|
|
92
|
+
}, medium && {
|
|
93
|
+
fontWeight: '500',
|
|
94
|
+
fontFamily: theme.fontMedium
|
|
95
|
+
}, style];
|
|
96
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
97
|
+
style: textStyle,
|
|
98
|
+
...props,
|
|
99
|
+
children: children
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=Typography.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Text","useTheme","jsx","_jsx","Typography","variant","color","align","bold","medium","style","children","props","theme","getStyleForVariant","fontSize","lineHeight","fontWeight","fontFamily","fontBold","fontMedium","fontRegular","defaultColor","textSecondary","textPrimary","textStyle","textAlign"],"sourceRoot":"../../../src","sources":["components/Typography.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export { Typography } from "./Typography.js";
|
|
4
|
+
export { Button } from "./Button.js";
|
|
5
|
+
export { Card } from "./Card.js";
|
|
6
|
+
export { ProgressBar } from "./ProgressBar.js";
|
|
7
|
+
export { CircularProgress } from "./CircularProgress.js";
|
|
8
|
+
export { Icon } from "./Icon.js";
|
|
9
|
+
export { DEFAULT_THEME, useTheme, ThemeProvider } from "../context/ThemeContext.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Typography","Button","Card","ProgressBar","CircularProgress","Icon","DEFAULT_THEME","useTheme","ThemeProvider"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAc;AACzC,SAASC,MAAM,QAAQ,aAAU;AACjC,SAASC,IAAI,QAAQ,WAAQ;AAC7B,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,IAAI,QAAQ,WAAQ;AAE7B,SAASC,aAAa,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,4BAAyB","ignoreList":[]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { createContext, useContext, useMemo } from 'react';
|
|
4
|
+
import { ThemeProvider } from "./ThemeContext.js";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export const DEFAULT_STRINGS = {
|
|
7
|
+
homeHeaderTitle: "Ready to learn?",
|
|
8
|
+
homeHeaderSubtitle: "Practice daily & improve scores",
|
|
9
|
+
dailyQuizTitle: "One step learnings - Daily quiz",
|
|
10
|
+
dailyQuizSubtitle: "Attempt daily prep check!",
|
|
11
|
+
dailyQuizProgressLabel: "Track Progress",
|
|
12
|
+
trackQuickLabel: "Track Quick",
|
|
13
|
+
subjectsTitle: "Subjects",
|
|
14
|
+
popularTopicsTitle: "Popular Topics",
|
|
15
|
+
qbankTitle: "Qbank",
|
|
16
|
+
qbankSubtitle: "All subjects folder & question bank",
|
|
17
|
+
topicsLabel: "Topics",
|
|
18
|
+
questionsCountLabel: "Questions",
|
|
19
|
+
startQuizButton: "Start QBank",
|
|
20
|
+
topicsAndItemsLabel: "Topics and items",
|
|
21
|
+
infoTitle: "Info",
|
|
22
|
+
questionLabel: "Question",
|
|
23
|
+
explanationLabel: "Explanation",
|
|
24
|
+
nextButtonLabel: "Next",
|
|
25
|
+
submitButtonLabel: "Submit",
|
|
26
|
+
correctAnswerLabel: "Correct Answer",
|
|
27
|
+
incorrectAnswerLabel: "Incorrect Answer",
|
|
28
|
+
resultsTitle: "QBank Analysis",
|
|
29
|
+
resultsSubtitle: "Here is your QBank performance summary!",
|
|
30
|
+
accuracyLabel: "Accuracy",
|
|
31
|
+
timeSpentLabel: "Time Spent",
|
|
32
|
+
correctAnswersCountLabel: "Correct Answers",
|
|
33
|
+
reviewAnswersButton: "Review Answers",
|
|
34
|
+
goHomeButton: "Back to Dashboard",
|
|
35
|
+
scorecardTitle: "Quiz Analysis"
|
|
36
|
+
};
|
|
37
|
+
const ConfigContext = /*#__PURE__*/createContext(null);
|
|
38
|
+
export const ElearnConfigProvider = ({
|
|
39
|
+
config = {},
|
|
40
|
+
callbacks = {},
|
|
41
|
+
children
|
|
42
|
+
}) => {
|
|
43
|
+
const mergedStrings = useMemo(() => {
|
|
44
|
+
return {
|
|
45
|
+
...DEFAULT_STRINGS,
|
|
46
|
+
...config.strings
|
|
47
|
+
};
|
|
48
|
+
}, [config.strings]);
|
|
49
|
+
const value = useMemo(() => {
|
|
50
|
+
return {
|
|
51
|
+
config,
|
|
52
|
+
callbacks,
|
|
53
|
+
getString: key => mergedStrings[key] || DEFAULT_STRINGS[key] || '',
|
|
54
|
+
getCourses: () => config.courses || [],
|
|
55
|
+
getDailyQuiz: () => config.dailyQuiz
|
|
56
|
+
};
|
|
57
|
+
}, [config, callbacks, mergedStrings]);
|
|
58
|
+
return /*#__PURE__*/_jsx(ConfigContext.Provider, {
|
|
59
|
+
value: value,
|
|
60
|
+
children: /*#__PURE__*/_jsx(ThemeProvider, {
|
|
61
|
+
theme: config.theme,
|
|
62
|
+
children: children
|
|
63
|
+
})
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
export const useElearnConfig = () => {
|
|
67
|
+
const context = useContext(ConfigContext);
|
|
68
|
+
if (!context) {
|
|
69
|
+
throw new Error('useElearnConfig must be used within an ElearnConfigProvider');
|
|
70
|
+
}
|
|
71
|
+
return context;
|
|
72
|
+
};
|
|
73
|
+
export { ThemeProvider };
|
|
74
|
+
export { useTheme } from "./ThemeContext.js";
|
|
75
|
+
export { DEFAULT_THEME } from "./ThemeContext.js";
|
|
76
|
+
//# sourceMappingURL=ElearnConfigContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","useMemo","ThemeProvider","jsx","_jsx","DEFAULT_STRINGS","homeHeaderTitle","homeHeaderSubtitle","dailyQuizTitle","dailyQuizSubtitle","dailyQuizProgressLabel","trackQuickLabel","subjectsTitle","popularTopicsTitle","qbankTitle","qbankSubtitle","topicsLabel","questionsCountLabel","startQuizButton","topicsAndItemsLabel","infoTitle","questionLabel","explanationLabel","nextButtonLabel","submitButtonLabel","correctAnswerLabel","incorrectAnswerLabel","resultsTitle","resultsSubtitle","accuracyLabel","timeSpentLabel","correctAnswersCountLabel","reviewAnswersButton","goHomeButton","scorecardTitle","ConfigContext","ElearnConfigProvider","config","callbacks","children","mergedStrings","strings","value","getString","key","getCourses","courses","getDailyQuiz","dailyQuiz","Provider","theme","useElearnConfig","context","Error","useTheme","DEFAULT_THEME"],"sourceRoot":"../../../src","sources":["context/ElearnConfigContext.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAEjE,SAASC,aAAa,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE/C,OAAO,MAAMC,eAAwC,GAAG;EACtDC,eAAe,EAAE,iBAAiB;EAClCC,kBAAkB,EAAE,iCAAiC;EACrDC,cAAc,EAAE,iCAAiC;EACjDC,iBAAiB,EAAE,2BAA2B;EAC9CC,sBAAsB,EAAE,gBAAgB;EACxCC,eAAe,EAAE,aAAa;EAC9BC,aAAa,EAAE,UAAU;EACzBC,kBAAkB,EAAE,gBAAgB;EACpCC,UAAU,EAAE,OAAO;EACnBC,aAAa,EAAE,qCAAqC;EACpDC,WAAW,EAAE,QAAQ;EACrBC,mBAAmB,EAAE,WAAW;EAChCC,eAAe,EAAE,aAAa;EAC9BC,mBAAmB,EAAE,kBAAkB;EACvCC,SAAS,EAAE,MAAM;EACjBC,aAAa,EAAE,UAAU;EACzBC,gBAAgB,EAAE,aAAa;EAC/BC,eAAe,EAAE,MAAM;EACvBC,iBAAiB,EAAE,QAAQ;EAC3BC,kBAAkB,EAAE,gBAAgB;EACpCC,oBAAoB,EAAE,kBAAkB;EACxCC,YAAY,EAAE,gBAAgB;EAC9BC,eAAe,EAAE,yCAAyC;EAC1DC,aAAa,EAAE,UAAU;EACzBC,cAAc,EAAE,YAAY;EAC5BC,wBAAwB,EAAE,iBAAiB;EAC3CC,mBAAmB,EAAE,gBAAgB;EACrCC,YAAY,EAAE,mBAAmB;EACjCC,cAAc,EAAE;AAClB,CAAC;AAUD,MAAMC,aAAa,gBAAGpC,aAAa,CAA4B,IAAI,CAAC;AAQpE,OAAO,MAAMqC,oBAAyD,GAAGA,CAAC;EACxEC,MAAM,GAAG,CAAC,CAAC;EACXC,SAAS,GAAG,CAAC,CAAC;EACdC;AACF,CAAC,KAAK;EACJ,MAAMC,aAAa,GAAGvC,OAAO,CAAC,MAAM;IAClC,OAAO;MAAE,GAAGI,eAAe;MAAE,GAAGgC,MAAM,CAACI;IAAQ,CAAC;EAClD,CAAC,EAAE,CAACJ,MAAM,CAACI,OAAO,CAAC,CAAC;EAEpB,MAAMC,KAAK,GAAGzC,OAAO,CAAqB,MAAM;IAC9C,OAAO;MACLoC,MAAM;MACNC,SAAS;MACTK,SAAS,EAAGC,GAAG,IAAKJ,aAAa,CAACI,GAAG,CAAC,IAAIvC,eAAe,CAACuC,GAAG,CAAC,IAAI,EAAE;MACpEC,UAAU,EAAEA,CAAA,KAAMR,MAAM,CAACS,OAAO,IAAI,EAAE;MACtCC,YAAY,EAAEA,CAAA,KAAMV,MAAM,CAACW;IAC7B,CAAC;EACH,CAAC,EAAE,CAACX,MAAM,EAAEC,SAAS,EAAEE,aAAa,CAAC,CAAC;EAEtC,oBACEpC,IAAA,CAAC+B,aAAa,CAACc,QAAQ;IAACP,KAAK,EAAEA,KAAM;IAAAH,QAAA,eACnCnC,IAAA,CAACF,aAAa;MAACgD,KAAK,EAAEb,MAAM,CAACa,KAAM;MAAAX,QAAA,EAChCA;IAAQ,CACI;EAAC,CACM,CAAC;AAE7B,CAAC;AAED,OAAO,MAAMY,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAMC,OAAO,GAAGpD,UAAU,CAACmC,aAAa,CAAC;EACzC,IAAI,CAACiB,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,6DAA6D,CAAC;EAChF;EACA,OAAOD,OAAO;AAChB,CAAC;AACD,SAASlD,aAAa;AACtB,SAASoD,QAAQ,QAAQ,mBAAgB;AACzC,SAASC,aAAa,QAAQ,mBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { createContext, useContext, useMemo } from 'react';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
export const DEFAULT_THEME = {
|
|
6
|
+
primary: '#007A87',
|
|
7
|
+
// Dark Teal
|
|
8
|
+
secondary: '#E6F4F5',
|
|
9
|
+
// Soft Teal Accent
|
|
10
|
+
success: '#10B981',
|
|
11
|
+
// Emerald Green for correct answers
|
|
12
|
+
danger: '#EF4444',
|
|
13
|
+
// Red for incorrect answers
|
|
14
|
+
warning: '#F59E0B',
|
|
15
|
+
// Amber
|
|
16
|
+
background: '#F8FAFC',
|
|
17
|
+
// Sleek slate grey-white background
|
|
18
|
+
cardBackground: '#FFFFFF',
|
|
19
|
+
// Pure White
|
|
20
|
+
textPrimary: '#1E293B',
|
|
21
|
+
// Slate 800
|
|
22
|
+
textSecondary: '#64748B',
|
|
23
|
+
// Slate 500
|
|
24
|
+
textInverse: '#FFFFFF',
|
|
25
|
+
// White
|
|
26
|
+
border: '#E2E8F0' // Slate 200
|
|
27
|
+
};
|
|
28
|
+
const ThemeContext = /*#__PURE__*/createContext(DEFAULT_THEME);
|
|
29
|
+
export const ThemeProvider = ({
|
|
30
|
+
theme,
|
|
31
|
+
children
|
|
32
|
+
}) => {
|
|
33
|
+
const mergedTheme = useMemo(() => {
|
|
34
|
+
return {
|
|
35
|
+
...DEFAULT_THEME,
|
|
36
|
+
...theme
|
|
37
|
+
};
|
|
38
|
+
}, [theme]);
|
|
39
|
+
return /*#__PURE__*/_jsx(ThemeContext.Provider, {
|
|
40
|
+
value: mergedTheme,
|
|
41
|
+
children: children
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
export const useTheme = () => useContext(ThemeContext);
|
|
45
|
+
//# sourceMappingURL=ThemeContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","useMemo","jsx","_jsx","DEFAULT_THEME","primary","secondary","success","danger","warning","background","cardBackground","textPrimary","textSecondary","textInverse","border","ThemeContext","ThemeProvider","theme","children","mergedTheme","Provider","value","useTheme"],"sourceRoot":"../../../src","sources":["context/ThemeContext.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGlE,OAAO,MAAMC,aAA0B,GAAG;EACxCC,OAAO,EAAE,SAAS;EAAE;EACpBC,SAAS,EAAE,SAAS;EAAE;EACtBC,OAAO,EAAE,SAAS;EAAE;EACpBC,MAAM,EAAE,SAAS;EAAE;EACnBC,OAAO,EAAE,SAAS;EAAE;EACpBC,UAAU,EAAE,SAAS;EAAE;EACvBC,cAAc,EAAE,SAAS;EAAE;EAC3BC,WAAW,EAAE,SAAS;EAAE;EACxBC,aAAa,EAAE,SAAS;EAAE;EAC1BC,WAAW,EAAE,SAAS;EAAE;EACxBC,MAAM,EAAE,SAAS,CAAE;AACrB,CAAC;AAED,MAAMC,YAAY,gBAAGjB,aAAa,CAAcK,aAAa,CAAC;AAO9D,OAAO,MAAMa,aAA2C,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAS,CAAC,KAAK;EAClF,MAAMC,WAAW,GAAGnB,OAAO,CAAC,MAAM;IAChC,OAAO;MAAE,GAAGG,aAAa;MAAE,GAAGc;IAAM,CAAC;EACvC,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,oBACEf,IAAA,CAACa,YAAY,CAACK,QAAQ;IAACC,KAAK,EAAEF,WAAY;IAAAD,QAAA,EACvCA;EAAQ,CACY,CAAC;AAE5B,CAAC;AAED,OAAO,MAAMI,QAAQ,GAAGA,CAAA,KAAMvB,UAAU,CAACgB,YAAY,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Types export
|
|
4
|
+
export * from "./types/index.js";
|
|
5
|
+
|
|
6
|
+
// Contexts & Providers
|
|
7
|
+
export { ElearnConfigProvider, useElearnConfig, ThemeProvider, useTheme, DEFAULT_THEME, DEFAULT_STRINGS } from "./context/ElearnConfigContext.js";
|
|
8
|
+
|
|
9
|
+
// Atomic Components
|
|
10
|
+
export { Typography, Button, Card, ProgressBar, CircularProgress, Icon } from "./components/index.js";
|
|
11
|
+
// Screens
|
|
12
|
+
export { HomeScreen, QbankScreen, TopicListScreen, QuizStartScreen, QuestionScreen, ResultScreen } from "./screens/index.js";
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ElearnConfigProvider","useElearnConfig","ThemeProvider","useTheme","DEFAULT_THEME","DEFAULT_STRINGS","Typography","Button","Card","ProgressBar","CircularProgress","Icon","HomeScreen","QbankScreen","TopicListScreen","QuizStartScreen","QuestionScreen","ResultScreen"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,cAAc,kBAAS;;AAEvB;AACA,SACEA,oBAAoB,EACpBC,eAAe,EACfC,aAAa,EACbC,QAAQ,EACRC,aAAa,EACbC,eAAe,QACV,kCAA+B;;AAEtC;AACA,SACEC,UAAU,EACVC,MAAM,EACNC,IAAI,EACJC,WAAW,EACXC,gBAAgB,EAChBC,IAAI,QACC,uBAAc;AAGrB;AACA,SACEC,UAAU,EACVC,WAAW,EACXC,eAAe,EACfC,eAAe,EACfC,cAAc,EACdC,YAAY,QACP,oBAAW","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["multiply","a","b"],"sourceRoot":"../../src","sources":["multiply.tsx"],"mappings":";;AAAA,OAAO,SAASA,QAAQA,CAACC,CAAS,EAAEC,CAAS,EAAU;EACrD,OAAOD,CAAC,GAAGC,CAAC;AACd","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { View, ScrollView, StyleSheet, TouchableOpacity, SafeAreaView, StatusBar, Image } from 'react-native';
|
|
5
|
+
import { useElearnConfig } from "../context/ElearnConfigContext.js";
|
|
6
|
+
import { useTheme } from "../context/ThemeContext.js";
|
|
7
|
+
import { Typography, Card, CircularProgress, Icon } from "../components/index.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
export const HomeScreen = () => {
|
|
10
|
+
const {
|
|
11
|
+
config,
|
|
12
|
+
callbacks,
|
|
13
|
+
getString
|
|
14
|
+
} = useElearnConfig();
|
|
15
|
+
const theme = useTheme();
|
|
16
|
+
const dailyQuiz = config.dailyQuiz;
|
|
17
|
+
const courses = config.courses || [];
|
|
18
|
+
const handleDailyQuizPress = () => {
|
|
19
|
+
if (dailyQuiz && callbacks.onStartQuiz) {
|
|
20
|
+
callbacks.onStartQuiz(dailyQuiz.id, dailyQuiz.questions, dailyQuiz.title);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
return /*#__PURE__*/_jsxs(SafeAreaView, {
|
|
24
|
+
style: [styles.safeArea, {
|
|
25
|
+
backgroundColor: theme.background
|
|
26
|
+
}],
|
|
27
|
+
children: [/*#__PURE__*/_jsx(StatusBar, {
|
|
28
|
+
barStyle: "dark-content"
|
|
29
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
30
|
+
style: styles.header,
|
|
31
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
32
|
+
style: styles.headerLeft,
|
|
33
|
+
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
34
|
+
style: styles.avatarContainer,
|
|
35
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
36
|
+
style: [styles.avatarPlaceholder, {
|
|
37
|
+
backgroundColor: theme.secondary
|
|
38
|
+
}],
|
|
39
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
40
|
+
name: "user",
|
|
41
|
+
size: 20,
|
|
42
|
+
color: theme.primary
|
|
43
|
+
})
|
|
44
|
+
})
|
|
45
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
46
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
|
47
|
+
variant: "bodyLight",
|
|
48
|
+
color: theme.textSecondary,
|
|
49
|
+
children: getString('homeHeaderTitle')
|
|
50
|
+
}), /*#__PURE__*/_jsx(Typography, {
|
|
51
|
+
variant: "h2",
|
|
52
|
+
bold: true,
|
|
53
|
+
children: "Dr. Kimberly"
|
|
54
|
+
})]
|
|
55
|
+
})]
|
|
56
|
+
}), /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
57
|
+
style: [styles.iconButton, {
|
|
58
|
+
borderColor: theme.border
|
|
59
|
+
}],
|
|
60
|
+
children: [/*#__PURE__*/_jsx(Icon, {
|
|
61
|
+
name: "bell",
|
|
62
|
+
size: 20,
|
|
63
|
+
color: theme.textPrimary
|
|
64
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
65
|
+
style: [styles.badge, {
|
|
66
|
+
backgroundColor: theme.danger
|
|
67
|
+
}]
|
|
68
|
+
})]
|
|
69
|
+
})]
|
|
70
|
+
}), /*#__PURE__*/_jsxs(ScrollView, {
|
|
71
|
+
contentContainerStyle: styles.scrollContent,
|
|
72
|
+
showsVerticalScrollIndicator: false,
|
|
73
|
+
children: [dailyQuiz && /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
74
|
+
activeOpacity: 0.9,
|
|
75
|
+
onPress: handleDailyQuizPress,
|
|
76
|
+
children: /*#__PURE__*/_jsx(Card, {
|
|
77
|
+
style: [styles.dailyQuizCard, {
|
|
78
|
+
backgroundColor: '#0284C7'
|
|
79
|
+
}],
|
|
80
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
81
|
+
style: styles.dailyQuizRow,
|
|
82
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
83
|
+
style: styles.dailyQuizLeft,
|
|
84
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
|
85
|
+
variant: "h3",
|
|
86
|
+
color: "#FFFFFF",
|
|
87
|
+
bold: true,
|
|
88
|
+
children: getString('dailyQuizTitle')
|
|
89
|
+
}), /*#__PURE__*/_jsx(Typography, {
|
|
90
|
+
variant: "caption",
|
|
91
|
+
color: "#E0F2FE",
|
|
92
|
+
style: styles.dailyQuizDesc,
|
|
93
|
+
children: getString('dailyQuizSubtitle')
|
|
94
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
95
|
+
style: styles.trackQuickBadge,
|
|
96
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
|
97
|
+
variant: "caption",
|
|
98
|
+
color: "#0284C7",
|
|
99
|
+
bold: true,
|
|
100
|
+
children: getString('trackQuickLabel')
|
|
101
|
+
})
|
|
102
|
+
})]
|
|
103
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
104
|
+
style: styles.dailyQuizRight,
|
|
105
|
+
children: /*#__PURE__*/_jsx(CircularProgress, {
|
|
106
|
+
progress: dailyQuiz.progressPercentage / 100,
|
|
107
|
+
size: 68,
|
|
108
|
+
strokeWidth: 6,
|
|
109
|
+
color: "#FFFFFF",
|
|
110
|
+
backgroundColor: "rgba(255, 255, 255, 0.25)",
|
|
111
|
+
textStyle: {
|
|
112
|
+
color: '#FFFFFF',
|
|
113
|
+
fontSize: 13
|
|
114
|
+
}
|
|
115
|
+
})
|
|
116
|
+
})]
|
|
117
|
+
})
|
|
118
|
+
})
|
|
119
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
120
|
+
style: styles.sectionHeader,
|
|
121
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
|
122
|
+
variant: "h2",
|
|
123
|
+
bold: true,
|
|
124
|
+
children: getString('subjectsTitle')
|
|
125
|
+
})
|
|
126
|
+
}), /*#__PURE__*/_jsx(ScrollView, {
|
|
127
|
+
horizontal: true,
|
|
128
|
+
showsHorizontalScrollIndicator: false,
|
|
129
|
+
contentContainerStyle: styles.subjectsContainer,
|
|
130
|
+
children: courses.map(course => {
|
|
131
|
+
let iconName = 'flask';
|
|
132
|
+
if (course.title.toLowerCase().includes('physic')) iconName = 'atom';
|
|
133
|
+
if (course.title.toLowerCase().includes('biolog')) iconName = 'dna';
|
|
134
|
+
if (course.title.toLowerCase().includes('anatom')) iconName = 'book-open';
|
|
135
|
+
return /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
136
|
+
style: [styles.subjectTab, {
|
|
137
|
+
backgroundColor: theme.cardBackground,
|
|
138
|
+
borderColor: theme.border
|
|
139
|
+
}],
|
|
140
|
+
onPress: () => callbacks.onSelectCourse?.(course),
|
|
141
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
142
|
+
style: [styles.subjectIconWrap, {
|
|
143
|
+
backgroundColor: theme.secondary
|
|
144
|
+
}],
|
|
145
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
146
|
+
name: iconName,
|
|
147
|
+
size: 20,
|
|
148
|
+
color: theme.primary
|
|
149
|
+
})
|
|
150
|
+
}), /*#__PURE__*/_jsx(Typography, {
|
|
151
|
+
variant: "label",
|
|
152
|
+
bold: true,
|
|
153
|
+
style: styles.subjectText,
|
|
154
|
+
children: course.title
|
|
155
|
+
})]
|
|
156
|
+
}, course.id);
|
|
157
|
+
})
|
|
158
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
159
|
+
style: styles.sectionHeader,
|
|
160
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
|
161
|
+
variant: "h2",
|
|
162
|
+
bold: true,
|
|
163
|
+
children: getString('popularTopicsTitle')
|
|
164
|
+
})
|
|
165
|
+
}), /*#__PURE__*/_jsxs(Card, {
|
|
166
|
+
bordered: true,
|
|
167
|
+
style: styles.infoCard,
|
|
168
|
+
children: [/*#__PURE__*/_jsx(Image, {
|
|
169
|
+
source: {
|
|
170
|
+
uri: 'https://images.unsplash.com/photo-1576086213369-97a306d36557?q=80&w=600&auto=format&fit=crop'
|
|
171
|
+
},
|
|
172
|
+
style: styles.infoCardImage,
|
|
173
|
+
resizeMode: "cover"
|
|
174
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
175
|
+
style: styles.infoCardContent,
|
|
176
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
177
|
+
style: styles.infoCardHeader,
|
|
178
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
|
179
|
+
variant: "caption",
|
|
180
|
+
color: theme.primary,
|
|
181
|
+
bold: true,
|
|
182
|
+
children: "HISTOLOGY"
|
|
183
|
+
}), /*#__PURE__*/_jsx(Typography, {
|
|
184
|
+
variant: "caption",
|
|
185
|
+
color: theme.textSecondary,
|
|
186
|
+
children: "12 min read"
|
|
187
|
+
})]
|
|
188
|
+
}), /*#__PURE__*/_jsx(Typography, {
|
|
189
|
+
variant: "h3",
|
|
190
|
+
bold: true,
|
|
191
|
+
style: styles.infoCardTitle,
|
|
192
|
+
children: "Tissue structures under microscope examination"
|
|
193
|
+
}), /*#__PURE__*/_jsx(Typography, {
|
|
194
|
+
variant: "body",
|
|
195
|
+
color: theme.textSecondary,
|
|
196
|
+
numberOfLines: 2,
|
|
197
|
+
children: "Learn the identification of epithelial tissues, connective tissues, and muscle structures for medical examination prep."
|
|
198
|
+
})]
|
|
199
|
+
})]
|
|
200
|
+
})]
|
|
201
|
+
})]
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
const styles = StyleSheet.create({
|
|
205
|
+
safeArea: {
|
|
206
|
+
flex: 1
|
|
207
|
+
},
|
|
208
|
+
header: {
|
|
209
|
+
flexDirection: 'row',
|
|
210
|
+
justifyContent: 'space-between',
|
|
211
|
+
alignItems: 'center',
|
|
212
|
+
paddingHorizontal: 20,
|
|
213
|
+
paddingVertical: 16
|
|
214
|
+
},
|
|
215
|
+
headerLeft: {
|
|
216
|
+
flexDirection: 'row',
|
|
217
|
+
alignItems: 'center'
|
|
218
|
+
},
|
|
219
|
+
avatarContainer: {
|
|
220
|
+
marginRight: 12
|
|
221
|
+
},
|
|
222
|
+
avatarPlaceholder: {
|
|
223
|
+
width: 40,
|
|
224
|
+
height: 40,
|
|
225
|
+
borderRadius: 20,
|
|
226
|
+
justifyContent: 'center',
|
|
227
|
+
alignItems: 'center'
|
|
228
|
+
},
|
|
229
|
+
iconButton: {
|
|
230
|
+
width: 40,
|
|
231
|
+
height: 40,
|
|
232
|
+
borderRadius: 20,
|
|
233
|
+
borderWidth: 1,
|
|
234
|
+
justifyContent: 'center',
|
|
235
|
+
alignItems: 'center',
|
|
236
|
+
position: 'relative'
|
|
237
|
+
},
|
|
238
|
+
badge: {
|
|
239
|
+
position: 'absolute',
|
|
240
|
+
top: 10,
|
|
241
|
+
right: 10,
|
|
242
|
+
width: 8,
|
|
243
|
+
height: 8,
|
|
244
|
+
borderRadius: 4
|
|
245
|
+
},
|
|
246
|
+
scrollContent: {
|
|
247
|
+
paddingHorizontal: 20,
|
|
248
|
+
paddingBottom: 24
|
|
249
|
+
},
|
|
250
|
+
dailyQuizCard: {
|
|
251
|
+
marginVertical: 12,
|
|
252
|
+
padding: 20,
|
|
253
|
+
borderRadius: 20
|
|
254
|
+
},
|
|
255
|
+
dailyQuizRow: {
|
|
256
|
+
flexDirection: 'row',
|
|
257
|
+
justifyContent: 'space-between',
|
|
258
|
+
alignItems: 'center'
|
|
259
|
+
},
|
|
260
|
+
dailyQuizLeft: {
|
|
261
|
+
flex: 1,
|
|
262
|
+
paddingRight: 16
|
|
263
|
+
},
|
|
264
|
+
dailyQuizDesc: {
|
|
265
|
+
marginTop: 6,
|
|
266
|
+
opacity: 0.9
|
|
267
|
+
},
|
|
268
|
+
trackQuickBadge: {
|
|
269
|
+
backgroundColor: '#FFFFFF',
|
|
270
|
+
paddingHorizontal: 12,
|
|
271
|
+
paddingVertical: 6,
|
|
272
|
+
borderRadius: 16,
|
|
273
|
+
alignSelf: 'flex-start',
|
|
274
|
+
marginTop: 14
|
|
275
|
+
},
|
|
276
|
+
dailyQuizRight: {
|
|
277
|
+
justifyContent: 'center',
|
|
278
|
+
alignItems: 'center'
|
|
279
|
+
},
|
|
280
|
+
sectionHeader: {
|
|
281
|
+
marginTop: 20,
|
|
282
|
+
marginBottom: 12
|
|
283
|
+
},
|
|
284
|
+
subjectsContainer: {
|
|
285
|
+
paddingVertical: 4
|
|
286
|
+
},
|
|
287
|
+
subjectTab: {
|
|
288
|
+
flexDirection: 'row',
|
|
289
|
+
alignItems: 'center',
|
|
290
|
+
paddingHorizontal: 16,
|
|
291
|
+
paddingVertical: 10,
|
|
292
|
+
borderRadius: 20,
|
|
293
|
+
borderWidth: 1,
|
|
294
|
+
marginRight: 12
|
|
295
|
+
},
|
|
296
|
+
subjectIconWrap: {
|
|
297
|
+
width: 32,
|
|
298
|
+
height: 32,
|
|
299
|
+
borderRadius: 16,
|
|
300
|
+
justifyContent: 'center',
|
|
301
|
+
alignItems: 'center',
|
|
302
|
+
marginRight: 8
|
|
303
|
+
},
|
|
304
|
+
subjectText: {
|
|
305
|
+
fontSize: 14
|
|
306
|
+
},
|
|
307
|
+
infoCard: {
|
|
308
|
+
padding: 0,
|
|
309
|
+
overflow: 'hidden',
|
|
310
|
+
marginTop: 8
|
|
311
|
+
},
|
|
312
|
+
infoCardImage: {
|
|
313
|
+
width: '100%',
|
|
314
|
+
height: 160
|
|
315
|
+
},
|
|
316
|
+
infoCardContent: {
|
|
317
|
+
padding: 16
|
|
318
|
+
},
|
|
319
|
+
infoCardHeader: {
|
|
320
|
+
flexDirection: 'row',
|
|
321
|
+
justifyContent: 'space-between',
|
|
322
|
+
alignItems: 'center',
|
|
323
|
+
marginBottom: 6
|
|
324
|
+
},
|
|
325
|
+
infoCardTitle: {
|
|
326
|
+
marginBottom: 8,
|
|
327
|
+
lineHeight: 22
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
//# sourceMappingURL=HomeScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","ScrollView","StyleSheet","TouchableOpacity","SafeAreaView","StatusBar","Image","useElearnConfig","useTheme","Typography","Card","CircularProgress","Icon","jsx","_jsx","jsxs","_jsxs","HomeScreen","config","callbacks","getString","theme","dailyQuiz","courses","handleDailyQuizPress","onStartQuiz","id","questions","title","style","styles","safeArea","backgroundColor","background","children","barStyle","header","headerLeft","avatarContainer","avatarPlaceholder","secondary","name","size","color","primary","variant","textSecondary","bold","iconButton","borderColor","border","textPrimary","badge","danger","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","activeOpacity","onPress","dailyQuizCard","dailyQuizRow","dailyQuizLeft","dailyQuizDesc","trackQuickBadge","dailyQuizRight","progress","progressPercentage","strokeWidth","textStyle","fontSize","sectionHeader","horizontal","showsHorizontalScrollIndicator","subjectsContainer","map","course","iconName","toLowerCase","includes","subjectTab","cardBackground","onSelectCourse","subjectIconWrap","subjectText","bordered","infoCard","source","uri","infoCardImage","resizeMode","infoCardContent","infoCardHeader","infoCardTitle","numberOfLines","create","flex","flexDirection","justifyContent","alignItems","paddingHorizontal","paddingVertical","marginRight","width","height","borderRadius","borderWidth","position","top","right","paddingBottom","marginVertical","padding","paddingRight","marginTop","opacity","alignSelf","marginBottom","overflow","lineHeight"],"sourceRoot":"../../../src","sources":["screens/HomeScreen.tsx"],"mappings":"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","ignoreList":[]}
|