react-native-elearn-ui 0.1.42 → 0.1.43

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.
Files changed (34) hide show
  1. package/lib/module/index.js +1 -1
  2. package/lib/module/index.js.map +1 -1
  3. package/lib/module/screens/index.js +1 -0
  4. package/lib/module/screens/index.js.map +1 -1
  5. package/lib/module/screens/notes/NotesDetailScreen.js +297 -0
  6. package/lib/module/screens/notes/NotesDetailScreen.js.map +1 -0
  7. package/lib/module/screens/notes/NotesSubTopicScreen.js +192 -0
  8. package/lib/module/screens/notes/NotesSubTopicScreen.js.map +1 -0
  9. package/lib/module/screens/notes/NotesTopicScreen.js +198 -0
  10. package/lib/module/screens/notes/NotesTopicScreen.js.map +1 -0
  11. package/lib/module/screens/notes/index.js +6 -0
  12. package/lib/module/screens/notes/index.js.map +1 -0
  13. package/lib/typescript/src/index.d.ts +1 -1
  14. package/lib/typescript/src/index.d.ts.map +1 -1
  15. package/lib/typescript/src/screens/index.d.ts +1 -0
  16. package/lib/typescript/src/screens/index.d.ts.map +1 -1
  17. package/lib/typescript/src/screens/notes/NotesDetailScreen.d.ts +4 -0
  18. package/lib/typescript/src/screens/notes/NotesDetailScreen.d.ts.map +1 -0
  19. package/lib/typescript/src/screens/notes/NotesSubTopicScreen.d.ts +4 -0
  20. package/lib/typescript/src/screens/notes/NotesSubTopicScreen.d.ts.map +1 -0
  21. package/lib/typescript/src/screens/notes/NotesTopicScreen.d.ts +4 -0
  22. package/lib/typescript/src/screens/notes/NotesTopicScreen.d.ts.map +1 -0
  23. package/lib/typescript/src/screens/notes/index.d.ts +4 -0
  24. package/lib/typescript/src/screens/notes/index.d.ts.map +1 -0
  25. package/lib/typescript/src/types/index.d.ts +49 -0
  26. package/lib/typescript/src/types/index.d.ts.map +1 -1
  27. package/package.json +1 -1
  28. package/src/index.tsx +3 -0
  29. package/src/screens/index.ts +1 -0
  30. package/src/screens/notes/NotesDetailScreen.tsx +260 -0
  31. package/src/screens/notes/NotesSubTopicScreen.tsx +168 -0
  32. package/src/screens/notes/NotesTopicScreen.tsx +174 -0
  33. package/src/screens/notes/index.ts +3 -0
  34. package/src/types/index.ts +61 -0
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View, ScrollView, StyleSheet, TouchableOpacity } from 'react-native';
5
+ import { SafeAreaView } from 'react-native-safe-area-context';
6
+ import { useTheme } from "../../context/ThemeContext.js";
7
+ import { Typography, Icon } from "../../components/index.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export const NotesTopicScreen = ({
10
+ title = 'BNS/MD',
11
+ recentlyAdded,
12
+ allTopics,
13
+ onBack,
14
+ onPressSearch,
15
+ onPressTopic
16
+ }) => {
17
+ const theme = useTheme();
18
+ const renderTopicCard = (item, isRecentlyAdded) => /*#__PURE__*/_jsxs(TouchableOpacity, {
19
+ style: styles.topicCard,
20
+ activeOpacity: 0.8,
21
+ onPress: () => onPressTopic?.(item.id),
22
+ children: [/*#__PURE__*/_jsxs(View, {
23
+ style: styles.topicCardLeft,
24
+ children: [/*#__PURE__*/_jsx(View, {
25
+ style: styles.iconContainer,
26
+ children: /*#__PURE__*/_jsx(Icon, {
27
+ name: "file-text",
28
+ size: 20,
29
+ color: theme.primary
30
+ })
31
+ }), /*#__PURE__*/_jsx(Typography, {
32
+ variant: "h3",
33
+ color: theme.textPrimary,
34
+ style: styles.topicTitle,
35
+ children: item.title
36
+ })]
37
+ }), /*#__PURE__*/_jsx(View, {
38
+ style: styles.topicCardRight,
39
+ children: isRecentlyAdded && item.isCompleted ? /*#__PURE__*/_jsx(Icon, {
40
+ name: "check",
41
+ size: 20,
42
+ color: theme.success
43
+ }) : /*#__PURE__*/_jsx(Icon, {
44
+ name: "chevron-right",
45
+ size: 20,
46
+ color: theme.textSecondary
47
+ })
48
+ })]
49
+ }, item.id);
50
+ return /*#__PURE__*/_jsxs(SafeAreaView, {
51
+ style: [styles.safeArea, {
52
+ backgroundColor: '#F9FAFB'
53
+ }],
54
+ edges: ['top', 'bottom'],
55
+ children: [/*#__PURE__*/_jsxs(View, {
56
+ style: styles.header,
57
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
58
+ style: styles.headerBtnLeft,
59
+ onPress: onBack,
60
+ children: /*#__PURE__*/_jsx(Icon, {
61
+ name: "chevron-left",
62
+ size: 24,
63
+ color: theme.textPrimary
64
+ })
65
+ }), /*#__PURE__*/_jsx(Typography, {
66
+ variant: "h2",
67
+ bold: true,
68
+ color: theme.textPrimary,
69
+ style: styles.headerTitle,
70
+ children: title
71
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
72
+ style: styles.headerBtnRight,
73
+ onPress: onPressSearch,
74
+ children: /*#__PURE__*/_jsx(Icon, {
75
+ name: "search",
76
+ size: 22,
77
+ color: theme.textPrimary
78
+ })
79
+ })]
80
+ }), /*#__PURE__*/_jsxs(ScrollView, {
81
+ style: {
82
+ flex: 1
83
+ },
84
+ contentContainerStyle: styles.scrollContent,
85
+ showsVerticalScrollIndicator: false,
86
+ children: [recentlyAdded && recentlyAdded.length > 0 && /*#__PURE__*/_jsxs(View, {
87
+ style: styles.section,
88
+ children: [/*#__PURE__*/_jsx(Typography, {
89
+ variant: "caption",
90
+ color: theme.textSecondary,
91
+ style: styles.sectionHeader,
92
+ children: "RECENTLY ADDED"
93
+ }), recentlyAdded.map(topic => renderTopicCard(topic, true))]
94
+ }), allTopics && allTopics.length > 0 && /*#__PURE__*/_jsxs(View, {
95
+ style: [styles.section, {
96
+ marginTop: 24
97
+ }],
98
+ children: [/*#__PURE__*/_jsx(Typography, {
99
+ variant: "caption",
100
+ color: theme.textSecondary,
101
+ style: styles.sectionHeader,
102
+ children: "ALL TOPICS"
103
+ }), allTopics.map(topic => renderTopicCard(topic, false))]
104
+ })]
105
+ })]
106
+ });
107
+ };
108
+ const styles = StyleSheet.create({
109
+ safeArea: {
110
+ flex: 1
111
+ },
112
+ header: {
113
+ flexDirection: 'row',
114
+ alignItems: 'center',
115
+ justifyContent: 'space-between',
116
+ paddingHorizontal: 16,
117
+ paddingVertical: 12,
118
+ backgroundColor: '#FFFFFF',
119
+ borderBottomWidth: 1,
120
+ borderBottomColor: '#F1F5F9'
121
+ },
122
+ headerBtnLeft: {
123
+ width: 40,
124
+ height: 40,
125
+ justifyContent: 'center',
126
+ alignItems: 'flex-start'
127
+ },
128
+ headerBtnRight: {
129
+ width: 40,
130
+ height: 40,
131
+ justifyContent: 'center',
132
+ alignItems: 'flex-end'
133
+ },
134
+ headerTitle: {
135
+ flex: 1,
136
+ textAlign: 'center',
137
+ fontSize: 18
138
+ },
139
+ scrollContent: {
140
+ padding: 16,
141
+ paddingBottom: 40
142
+ },
143
+ section: {
144
+ width: '100%'
145
+ },
146
+ sectionHeader: {
147
+ fontSize: 12,
148
+ letterSpacing: 0.5,
149
+ marginBottom: 12,
150
+ fontWeight: '600',
151
+ textTransform: 'uppercase'
152
+ },
153
+ topicCard: {
154
+ backgroundColor: '#FFFFFF',
155
+ flexDirection: 'row',
156
+ alignItems: 'center',
157
+ justifyContent: 'space-between',
158
+ paddingVertical: 16,
159
+ paddingHorizontal: 16,
160
+ borderRadius: 12,
161
+ marginBottom: 12,
162
+ shadowColor: '#000',
163
+ shadowOffset: {
164
+ width: 0,
165
+ height: 2
166
+ },
167
+ shadowOpacity: 0.05,
168
+ shadowRadius: 4,
169
+ elevation: 2,
170
+ borderWidth: 1,
171
+ borderColor: '#F1F5F9'
172
+ },
173
+ topicCardLeft: {
174
+ flexDirection: 'row',
175
+ alignItems: 'center',
176
+ flex: 1
177
+ },
178
+ iconContainer: {
179
+ width: 40,
180
+ height: 40,
181
+ borderRadius: 8,
182
+ backgroundColor: '#F8FAFC',
183
+ justifyContent: 'center',
184
+ alignItems: 'center',
185
+ marginRight: 16,
186
+ borderWidth: 1,
187
+ borderColor: '#E2E8F0'
188
+ },
189
+ topicTitle: {
190
+ fontSize: 16,
191
+ fontWeight: '600'
192
+ },
193
+ topicCardRight: {
194
+ justifyContent: 'center',
195
+ alignItems: 'center'
196
+ }
197
+ });
198
+ //# sourceMappingURL=NotesTopicScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","ScrollView","StyleSheet","TouchableOpacity","SafeAreaView","useTheme","Typography","Icon","jsx","_jsx","jsxs","_jsxs","NotesTopicScreen","title","recentlyAdded","allTopics","onBack","onPressSearch","onPressTopic","theme","renderTopicCard","item","isRecentlyAdded","style","styles","topicCard","activeOpacity","onPress","id","children","topicCardLeft","iconContainer","name","size","color","primary","variant","textPrimary","topicTitle","topicCardRight","isCompleted","success","textSecondary","safeArea","backgroundColor","edges","header","headerBtnLeft","bold","headerTitle","headerBtnRight","flex","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","length","section","sectionHeader","map","topic","marginTop","create","flexDirection","alignItems","justifyContent","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","width","height","textAlign","fontSize","padding","paddingBottom","letterSpacing","marginBottom","fontWeight","textTransform","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderWidth","borderColor","marginRight"],"sourceRoot":"../../../../src","sources":["screens/notes/NotesTopicScreen.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ export * from "./NotesTopicScreen.js";
4
+ export * from "./NotesSubTopicScreen.js";
5
+ export * from "./NotesDetailScreen.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["screens/notes/index.ts"],"mappings":";;AAAA,cAAc,uBAAoB;AAClC,cAAc,0BAAuB;AACrC,cAAc,wBAAqB","ignoreList":[]}
@@ -3,5 +3,5 @@ export * from './context/ThemeContext.js';
3
3
  export { ElearnConfigProvider, useElearnConfig, ThemeProvider, useTheme, DEFAULT_THEME, DEFAULT_STRINGS, } from './context/ElearnConfigContext.js';
4
4
  export { Typography, Button, Card, ProgressBar, CircularProgress, Icon, } from './components/index.js';
5
5
  export type { IconName } from './components/index.js';
6
- export { HomeScreen, QBankTopicScreen, QBankSubTopicScreen, QBankQuestionScreen, QBankSuccessScreen, QBankOverviewScreen, } from './screens/index.js';
6
+ export { HomeScreen, QBankTopicScreen, QBankSubTopicScreen, QBankQuestionScreen, QBankSuccessScreen, QBankOverviewScreen, NotesTopicScreen, NotesSubTopicScreen, NotesDetailScreen, } from './screens/index.js';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,cAAc,kBAAS,CAAC;AACxB,cAAc,2BAAwB,CAAC;AAGvC,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,kCAA+B,CAAC;AAGvC,OAAO,EACL,UAAU,EACV,MAAM,EACN,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,IAAI,GACL,MAAM,uBAAc,CAAC;AACtB,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAc,CAAC;AAG7C,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,oBAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,cAAc,kBAAS,CAAC;AACxB,cAAc,2BAAwB,CAAC;AAGvC,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,kCAA+B,CAAC;AAGvC,OAAO,EACL,UAAU,EACV,MAAM,EACN,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,IAAI,GACL,MAAM,uBAAc,CAAC;AACtB,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAc,CAAC;AAG7C,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAW,CAAC"}
@@ -4,4 +4,5 @@ export { QBankSubTopicScreen } from './qbank/QBankSubTopicScreen.js';
4
4
  export { QBankQuestionScreen } from './qbank/QBankQuestionScreen.js';
5
5
  export { QBankSuccessScreen } from './qbank/QBankSuccessScreen.js';
6
6
  export { QBankOverviewScreen } from './qbank/QBankOverviewScreen.js';
7
+ export * from './notes/index.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/screens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA0B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAA6B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAA6B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA4B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/screens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA0B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAA6B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAA6B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA4B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAA6B,CAAC;AAClE,cAAc,kBAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { NotesDetailScreenProps } from '../../types/index.js';
3
+ export declare const NotesDetailScreen: React.FC<NotesDetailScreenProps>;
4
+ //# sourceMappingURL=NotesDetailScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotesDetailScreen.d.ts","sourceRoot":"","sources":["../../../../../src/screens/notes/NotesDetailScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAa,CAAC;AAE1D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAkH9D,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { NotesSubTopicScreenProps } from '../../types/index.js';
3
+ export declare const NotesSubTopicScreen: React.FC<NotesSubTopicScreenProps>;
4
+ //# sourceMappingURL=NotesSubTopicScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotesSubTopicScreen.d.ts","sourceRoot":"","sources":["../../../../../src/screens/notes/NotesSubTopicScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,KAAK,EAAE,wBAAwB,EAAwB,MAAM,sBAAa,CAAC;AAElF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA4DlE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { NotesTopicScreenProps } from '../../types/index.js';
3
+ export declare const NotesTopicScreen: React.FC<NotesTopicScreenProps>;
4
+ //# sourceMappingURL=NotesTopicScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotesTopicScreen.d.ts","sourceRoot":"","sources":["../../../../../src/screens/notes/NotesTopicScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,KAAK,EAAE,qBAAqB,EAAc,MAAM,sBAAa,CAAC;AAErE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAyE5D,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './NotesTopicScreen.js';
2
+ export * from './NotesSubTopicScreen.js';
3
+ export * from './NotesDetailScreen.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/screens/notes/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAoB,CAAC;AACnC,cAAc,0BAAuB,CAAC;AACtC,cAAc,wBAAqB,CAAC"}
@@ -286,4 +286,53 @@ export interface QBankSubTopicParams {
286
286
  };
287
287
  sections: QBankSubTopicSection[];
288
288
  }
289
+ export interface NotesTopic {
290
+ id: string;
291
+ title: string;
292
+ icon?: string;
293
+ isCompleted?: boolean;
294
+ }
295
+ export interface NotesTopicScreenProps {
296
+ title?: string;
297
+ recentlyAdded: NotesTopic[];
298
+ allTopics: NotesTopic[];
299
+ onBack?: () => void;
300
+ onPressSearch?: () => void;
301
+ onPressTopic?: (topicId: string) => void;
302
+ }
303
+ export interface NotesSubTopic {
304
+ id: string;
305
+ title: string;
306
+ isLocked?: boolean;
307
+ }
308
+ export interface NotesSubTopicSection {
309
+ id: string;
310
+ title: string;
311
+ subTopics: NotesSubTopic[];
312
+ }
313
+ export interface NotesSubTopicScreenProps {
314
+ topicTitle: string;
315
+ sections: NotesSubTopicSection[];
316
+ onBack?: () => void;
317
+ onPressFilter?: () => void;
318
+ onPressSubTopic?: (subTopicId: string) => void;
319
+ }
320
+ export interface NotesDetailContent {
321
+ title: string;
322
+ description: string;
323
+ }
324
+ export interface NotesDetailScreenProps {
325
+ topicTitle: string;
326
+ sectionTitle: string;
327
+ currentProgress: number;
328
+ totalProgress: number;
329
+ subTopicTitle: string;
330
+ content: NotesDetailContent[];
331
+ isCompleted?: boolean;
332
+ onBack?: () => void;
333
+ onPressGroup?: () => void;
334
+ onToggleComplete?: (isComplete: boolean) => void;
335
+ onPressPrev?: () => void;
336
+ onPressNext?: () => void;
337
+ }
289
338
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-elearn-ui",
3
- "version": "0.1.42",
3
+ "version": "0.1.43",
4
4
  "description": "Enterprise E-Learning UI library for React Native",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
package/src/index.tsx CHANGED
@@ -31,4 +31,7 @@ export {
31
31
  QBankQuestionScreen,
32
32
  QBankSuccessScreen,
33
33
  QBankOverviewScreen,
34
+ NotesTopicScreen,
35
+ NotesSubTopicScreen,
36
+ NotesDetailScreen,
34
37
  } from './screens';
@@ -4,3 +4,4 @@ export { QBankSubTopicScreen } from './qbank/QBankSubTopicScreen';
4
4
  export { QBankQuestionScreen } from './qbank/QBankQuestionScreen';
5
5
  export { QBankSuccessScreen } from './qbank/QBankSuccessScreen';
6
6
  export { QBankOverviewScreen } from './qbank/QBankOverviewScreen';
7
+ export * from './notes';
@@ -0,0 +1,260 @@
1
+ import React from 'react';
2
+ import {
3
+ View,
4
+ ScrollView,
5
+ StyleSheet,
6
+ TouchableOpacity,
7
+ } from 'react-native';
8
+ import { SafeAreaView } from 'react-native-safe-area-context';
9
+ import { useTheme } from '../../context/ThemeContext';
10
+ import { Typography, Icon } from '../../components';
11
+ import type { NotesDetailScreenProps } from '../../types';
12
+
13
+ export const NotesDetailScreen: React.FC<NotesDetailScreenProps> = ({
14
+ topicTitle,
15
+ sectionTitle,
16
+ currentProgress,
17
+ totalProgress,
18
+ subTopicTitle,
19
+ content,
20
+ isCompleted = false,
21
+ onBack,
22
+ onPressGroup,
23
+ onToggleComplete,
24
+ onPressPrev,
25
+ onPressNext,
26
+ }) => {
27
+ const theme = useTheme();
28
+
29
+ const progressPercentage = totalProgress > 0 ? (currentProgress / totalProgress) * 100 : 0;
30
+
31
+ return (
32
+ <SafeAreaView style={[styles.safeArea, { backgroundColor: '#FFFFFF' }]} edges={['top', 'bottom']}>
33
+ {/* Header */}
34
+ <View style={styles.header}>
35
+ <TouchableOpacity style={styles.headerBtnLeft} onPress={onBack}>
36
+ <Icon name="chevron-left" size={24} color={theme.textPrimary} />
37
+ </TouchableOpacity>
38
+ <Typography variant="h2" bold color={theme.textPrimary} style={styles.headerTitle}>
39
+ {topicTitle}
40
+ </Typography>
41
+ <TouchableOpacity style={styles.headerBtnRight} onPress={onPressGroup}>
42
+ <Icon name="users" size={20} color={theme.textPrimary} />
43
+ </TouchableOpacity>
44
+ </View>
45
+
46
+ {/* Progress Bar */}
47
+ <View style={styles.progressBarContainer}>
48
+ <View style={[styles.progressFill, { width: `${progressPercentage}%`, backgroundColor: theme.success }]} />
49
+ </View>
50
+
51
+ <ScrollView style={{ flex: 1 }} contentContainerStyle={styles.scrollContent} showsVerticalScrollIndicator={false}>
52
+ {/* Section Header */}
53
+ <View style={styles.sectionHeaderRow}>
54
+ <View style={styles.sectionHeaderLeft}>
55
+ <View style={[styles.dot, { backgroundColor: theme.success }]} />
56
+ <Typography variant="caption" color={theme.textSecondary} style={styles.sectionTitle}>
57
+ {sectionTitle}
58
+ </Typography>
59
+ </View>
60
+ <Typography variant="caption" color={theme.textPrimary} style={styles.progressText}>
61
+ {currentProgress}/{totalProgress}
62
+ </Typography>
63
+ </View>
64
+
65
+ {/* Sub Topic Title */}
66
+ <Typography variant="h3" color={theme.textPrimary} style={styles.subTopicTitle}>
67
+ {subTopicTitle}
68
+ </Typography>
69
+
70
+ {/* Content */}
71
+ <View style={styles.contentContainer}>
72
+ {content && content.map((item, index) => (
73
+ <View key={index} style={styles.bulletItem}>
74
+ <Typography variant="body" color={theme.textPrimary} style={styles.bulletDot}>
75
+
76
+ </Typography>
77
+ <Typography variant="body" color={theme.textSecondary} style={styles.bulletText}>
78
+ <Typography variant="body" bold color={theme.textPrimary}>
79
+ {item.title}
80
+ </Typography>{' '}
81
+ {item.description}
82
+ </Typography>
83
+ </View>
84
+ ))}
85
+ </View>
86
+ </ScrollView>
87
+
88
+ {/* Footer */}
89
+ <View style={styles.footer}>
90
+ <TouchableOpacity
91
+ style={styles.completeToggle}
92
+ activeOpacity={0.8}
93
+ onPress={() => onToggleComplete?.(!isCompleted)}
94
+ >
95
+ <View style={[
96
+ styles.checkbox,
97
+ { backgroundColor: isCompleted ? theme.success : '#FFFFFF', borderColor: isCompleted ? theme.success : '#D1D5DB' }
98
+ ]}>
99
+ {isCompleted && <Icon name="check" size={14} color="#FFFFFF" />}
100
+ </View>
101
+ <Typography variant="body" color={theme.textPrimary} style={styles.completeText}>
102
+ Mark as Complete
103
+ </Typography>
104
+ </TouchableOpacity>
105
+
106
+ <View style={styles.navButtons}>
107
+ <TouchableOpacity
108
+ style={styles.navBtn}
109
+ onPress={onPressPrev}
110
+ >
111
+ <Typography variant="body" bold color={theme.textSecondary}>
112
+ Prev
113
+ </Typography>
114
+ </TouchableOpacity>
115
+ <TouchableOpacity
116
+ style={[styles.navBtn, styles.nextBtn, { backgroundColor: theme.success }]}
117
+ onPress={onPressNext}
118
+ >
119
+ <Typography variant="body" bold color="#FFFFFF">
120
+ Next
121
+ </Typography>
122
+ </TouchableOpacity>
123
+ </View>
124
+ </View>
125
+ </SafeAreaView>
126
+ );
127
+ };
128
+
129
+ const styles = StyleSheet.create({
130
+ safeArea: {
131
+ flex: 1,
132
+ },
133
+ header: {
134
+ flexDirection: 'row',
135
+ alignItems: 'center',
136
+ justifyContent: 'space-between',
137
+ paddingHorizontal: 16,
138
+ paddingVertical: 12,
139
+ backgroundColor: '#FFFFFF',
140
+ },
141
+ headerBtnLeft: {
142
+ width: 40,
143
+ height: 40,
144
+ justifyContent: 'center',
145
+ alignItems: 'flex-start',
146
+ },
147
+ headerBtnRight: {
148
+ width: 40,
149
+ height: 40,
150
+ justifyContent: 'center',
151
+ alignItems: 'flex-end',
152
+ },
153
+ headerTitle: {
154
+ flex: 1,
155
+ textAlign: 'center',
156
+ fontSize: 18,
157
+ },
158
+ progressBarContainer: {
159
+ width: '100%',
160
+ height: 4,
161
+ backgroundColor: '#E2E8F0',
162
+ },
163
+ progressFill: {
164
+ height: '100%',
165
+ },
166
+ scrollContent: {
167
+ padding: 20,
168
+ paddingBottom: 40,
169
+ },
170
+ sectionHeaderRow: {
171
+ flexDirection: 'row',
172
+ alignItems: 'center',
173
+ justifyContent: 'space-between',
174
+ marginBottom: 20,
175
+ },
176
+ sectionHeaderLeft: {
177
+ flexDirection: 'row',
178
+ alignItems: 'center',
179
+ },
180
+ dot: {
181
+ width: 6,
182
+ height: 6,
183
+ borderRadius: 3,
184
+ marginRight: 8,
185
+ },
186
+ sectionTitle: {
187
+ fontSize: 12,
188
+ letterSpacing: 0.5,
189
+ fontWeight: '600',
190
+ textTransform: 'uppercase',
191
+ },
192
+ progressText: {
193
+ fontSize: 14,
194
+ fontWeight: '600',
195
+ },
196
+ subTopicTitle: {
197
+ fontSize: 16,
198
+ fontWeight: '600',
199
+ lineHeight: 24,
200
+ marginBottom: 24,
201
+ },
202
+ contentContainer: {
203
+ width: '100%',
204
+ },
205
+ bulletItem: {
206
+ flexDirection: 'row',
207
+ marginBottom: 16,
208
+ },
209
+ bulletDot: {
210
+ marginRight: 8,
211
+ marginTop: -2,
212
+ fontSize: 16,
213
+ },
214
+ bulletText: {
215
+ flex: 1,
216
+ lineHeight: 22,
217
+ fontSize: 14,
218
+ },
219
+ footer: {
220
+ flexDirection: 'row',
221
+ alignItems: 'center',
222
+ justifyContent: 'space-between',
223
+ paddingHorizontal: 20,
224
+ paddingVertical: 16,
225
+ backgroundColor: '#FFFFFF',
226
+ borderTopWidth: 1,
227
+ borderTopColor: '#F1F5F9',
228
+ },
229
+ completeToggle: {
230
+ flexDirection: 'row',
231
+ alignItems: 'center',
232
+ },
233
+ checkbox: {
234
+ width: 20,
235
+ height: 20,
236
+ borderRadius: 4,
237
+ borderWidth: 2,
238
+ justifyContent: 'center',
239
+ alignItems: 'center',
240
+ marginRight: 10,
241
+ },
242
+ completeText: {
243
+ fontSize: 14,
244
+ fontWeight: '500',
245
+ },
246
+ navButtons: {
247
+ flexDirection: 'row',
248
+ alignItems: 'center',
249
+ },
250
+ navBtn: {
251
+ paddingHorizontal: 16,
252
+ paddingVertical: 8,
253
+ justifyContent: 'center',
254
+ alignItems: 'center',
255
+ },
256
+ nextBtn: {
257
+ borderRadius: 6,
258
+ marginLeft: 12,
259
+ },
260
+ });