react-native-elearn-ui 0.1.23 → 0.1.25
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/lib/module/components/BottomSheet.js +134 -0
- package/lib/module/components/BottomSheet.js.map +1 -0
- package/lib/module/components/index.js +1 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/screens/qbank/QBankSubTopicScreen.js +35 -58
- package/lib/module/screens/qbank/QBankSubTopicScreen.js.map +1 -1
- package/lib/typescript/src/components/BottomSheet.d.ts +9 -0
- package/lib/typescript/src/components/BottomSheet.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +1 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/qbank/QBankSubTopicScreen.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/BottomSheet.tsx +144 -0
- package/src/components/index.ts +1 -0
- package/src/screens/qbank/QBankSubTopicScreen.tsx +27 -48
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useEffect, useRef } from 'react';
|
|
4
|
+
import { View, Modal, Animated, PanResponder, StyleSheet, Dimensions, TouchableWithoutFeedback } from 'react-native';
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
+
const {
|
|
7
|
+
height: SCREEN_HEIGHT
|
|
8
|
+
} = Dimensions.get('window');
|
|
9
|
+
export const BottomSheet = ({
|
|
10
|
+
visible,
|
|
11
|
+
onClose,
|
|
12
|
+
children,
|
|
13
|
+
height = SCREEN_HEIGHT * 0.7
|
|
14
|
+
}) => {
|
|
15
|
+
const panY = useRef(new Animated.Value(height)).current;
|
|
16
|
+
const [modalVisible, setModalVisible] = React.useState(visible);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (visible) {
|
|
19
|
+
setModalVisible(true);
|
|
20
|
+
Animated.spring(panY, {
|
|
21
|
+
toValue: 0,
|
|
22
|
+
useNativeDriver: true,
|
|
23
|
+
bounciness: 0
|
|
24
|
+
}).start();
|
|
25
|
+
} else {
|
|
26
|
+
closeAnim();
|
|
27
|
+
}
|
|
28
|
+
}, [visible]);
|
|
29
|
+
const closeAnim = () => {
|
|
30
|
+
Animated.timing(panY, {
|
|
31
|
+
toValue: height,
|
|
32
|
+
duration: 300,
|
|
33
|
+
useNativeDriver: true
|
|
34
|
+
}).start(() => {
|
|
35
|
+
setModalVisible(false);
|
|
36
|
+
onClose();
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
const panResponder = useRef(PanResponder.create({
|
|
40
|
+
onStartShouldSetPanResponder: () => true,
|
|
41
|
+
onMoveShouldSetPanResponder: (_, gestureState) => {
|
|
42
|
+
return Math.abs(gestureState.dy) > 10;
|
|
43
|
+
},
|
|
44
|
+
onPanResponderMove: (_, gestureState) => {
|
|
45
|
+
if (gestureState.dy > 0) {
|
|
46
|
+
panY.setValue(gestureState.dy);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
onPanResponderRelease: (_, gestureState) => {
|
|
50
|
+
if (gestureState.dy > height / 4 || gestureState.vy > 0.5) {
|
|
51
|
+
closeAnim();
|
|
52
|
+
} else {
|
|
53
|
+
Animated.spring(panY, {
|
|
54
|
+
toValue: 0,
|
|
55
|
+
useNativeDriver: true,
|
|
56
|
+
bounciness: 0
|
|
57
|
+
}).start();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
})).current;
|
|
61
|
+
return /*#__PURE__*/_jsx(Modal, {
|
|
62
|
+
visible: modalVisible,
|
|
63
|
+
transparent: true,
|
|
64
|
+
animationType: "none",
|
|
65
|
+
onRequestClose: closeAnim,
|
|
66
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
67
|
+
style: styles.overlay,
|
|
68
|
+
children: [/*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
69
|
+
onPress: closeAnim,
|
|
70
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
71
|
+
style: styles.background
|
|
72
|
+
})
|
|
73
|
+
}), /*#__PURE__*/_jsxs(Animated.View, {
|
|
74
|
+
style: [styles.container, {
|
|
75
|
+
height,
|
|
76
|
+
transform: [{
|
|
77
|
+
translateY: panY
|
|
78
|
+
}]
|
|
79
|
+
}],
|
|
80
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
81
|
+
...panResponder.panHandlers,
|
|
82
|
+
style: styles.dragHandleContainer,
|
|
83
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
84
|
+
style: styles.dragHandle
|
|
85
|
+
})
|
|
86
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
87
|
+
style: styles.contentContainer,
|
|
88
|
+
children: children
|
|
89
|
+
})]
|
|
90
|
+
})]
|
|
91
|
+
})
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
const styles = StyleSheet.create({
|
|
95
|
+
overlay: {
|
|
96
|
+
flex: 1,
|
|
97
|
+
justifyContent: 'flex-end'
|
|
98
|
+
},
|
|
99
|
+
background: {
|
|
100
|
+
...StyleSheet.absoluteFillObject,
|
|
101
|
+
backgroundColor: 'rgba(0,0,0,0.4)'
|
|
102
|
+
},
|
|
103
|
+
container: {
|
|
104
|
+
backgroundColor: '#FFFFFF',
|
|
105
|
+
borderTopLeftRadius: 20,
|
|
106
|
+
borderTopRightRadius: 20,
|
|
107
|
+
width: '100%',
|
|
108
|
+
shadowColor: '#000',
|
|
109
|
+
shadowOffset: {
|
|
110
|
+
width: 0,
|
|
111
|
+
height: -2
|
|
112
|
+
},
|
|
113
|
+
shadowOpacity: 0.1,
|
|
114
|
+
shadowRadius: 10,
|
|
115
|
+
elevation: 10
|
|
116
|
+
},
|
|
117
|
+
dragHandleContainer: {
|
|
118
|
+
width: '100%',
|
|
119
|
+
height: 30,
|
|
120
|
+
alignItems: 'center',
|
|
121
|
+
justifyContent: 'center',
|
|
122
|
+
backgroundColor: 'transparent'
|
|
123
|
+
},
|
|
124
|
+
dragHandle: {
|
|
125
|
+
width: 40,
|
|
126
|
+
height: 5,
|
|
127
|
+
borderRadius: 3,
|
|
128
|
+
backgroundColor: '#CBD5E1'
|
|
129
|
+
},
|
|
130
|
+
contentContainer: {
|
|
131
|
+
flex: 1
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
//# sourceMappingURL=BottomSheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","View","Modal","Animated","PanResponder","StyleSheet","Dimensions","TouchableWithoutFeedback","jsx","_jsx","jsxs","_jsxs","height","SCREEN_HEIGHT","get","BottomSheet","visible","onClose","children","panY","Value","current","modalVisible","setModalVisible","useState","spring","toValue","useNativeDriver","bounciness","start","closeAnim","timing","duration","panResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_","gestureState","Math","abs","dy","onPanResponderMove","setValue","onPanResponderRelease","vy","transparent","animationType","onRequestClose","style","styles","overlay","onPress","background","container","transform","translateY","panHandlers","dragHandleContainer","dragHandle","contentContainer","flex","justifyContent","absoluteFillObject","backgroundColor","borderTopLeftRadius","borderTopRightRadius","width","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","alignItems","borderRadius"],"sourceRoot":"../../../src","sources":["components/BottomSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,5 +6,6 @@ export { Card } from "./Card.js";
|
|
|
6
6
|
export { ProgressBar } from "./ProgressBar.js";
|
|
7
7
|
export { CircularProgress } from "./CircularProgress.js";
|
|
8
8
|
export { Icon } from "./Icon.js";
|
|
9
|
+
export { BottomSheet } from "./BottomSheet.js";
|
|
9
10
|
export { DEFAULT_THEME, useTheme, ThemeProvider } from "../context/ThemeContext.js";
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"names":["Typography","Button","Card","ProgressBar","CircularProgress","Icon","BottomSheet","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;AAC7B,SAASC,WAAW,QAAQ,kBAAe;AAE3C,SAASC,aAAa,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,4BAAyB","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useState, useRef } from 'react';
|
|
4
|
-
import { View, ScrollView, StyleSheet, TouchableOpacity, StatusBar, FlatList
|
|
4
|
+
import { View, ScrollView, StyleSheet, TouchableOpacity, StatusBar, FlatList } from 'react-native';
|
|
5
5
|
import { SafeAreaView } from 'react-native-safe-area-context';
|
|
6
6
|
import { useTheme } from "../../context/ThemeContext.js";
|
|
7
|
-
import { Typography, Icon } from "../../components/index.js";
|
|
7
|
+
import { Typography, Icon, BottomSheet } from "../../components/index.js";
|
|
8
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
9
|
export const QBankSubTopicScreen = ({
|
|
10
10
|
params,
|
|
@@ -250,52 +250,41 @@ export const QBankSubTopicScreen = ({
|
|
|
250
250
|
})]
|
|
251
251
|
}, section.id);
|
|
252
252
|
})]
|
|
253
|
-
}), /*#__PURE__*/
|
|
253
|
+
}), /*#__PURE__*/_jsxs(BottomSheet, {
|
|
254
254
|
visible: showTOC,
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
children:
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
color: theme.textPrimary,
|
|
271
|
-
children: "Table of Contents"
|
|
272
|
-
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
273
|
-
onPress: () => setShowTOC(false),
|
|
274
|
-
children: /*#__PURE__*/_jsx(Icon, {
|
|
275
|
-
name: "x",
|
|
276
|
-
size: 24,
|
|
277
|
-
color: theme.textSecondary
|
|
278
|
-
})
|
|
279
|
-
})]
|
|
280
|
-
}), /*#__PURE__*/_jsx(ScrollView, {
|
|
281
|
-
style: styles.sheetScroll,
|
|
282
|
-
children: params.sections.map(section => /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
283
|
-
style: styles.sheetItem,
|
|
284
|
-
onPress: () => scrollToSection(section.id),
|
|
285
|
-
children: [/*#__PURE__*/_jsx(Typography, {
|
|
286
|
-
variant: "body",
|
|
287
|
-
color: theme.textPrimary,
|
|
288
|
-
children: section.title
|
|
289
|
-
}), /*#__PURE__*/_jsx(Icon, {
|
|
290
|
-
name: "chevron-right",
|
|
291
|
-
size: 20,
|
|
292
|
-
color: theme.textSecondary
|
|
293
|
-
})]
|
|
294
|
-
}, section.id))
|
|
295
|
-
})]
|
|
255
|
+
onClose: () => setShowTOC(false),
|
|
256
|
+
height: 400,
|
|
257
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
258
|
+
style: styles.sheetHeader,
|
|
259
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
|
260
|
+
variant: "h3",
|
|
261
|
+
bold: true,
|
|
262
|
+
color: theme.textPrimary,
|
|
263
|
+
children: "Table of Contents"
|
|
264
|
+
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
265
|
+
onPress: () => setShowTOC(false),
|
|
266
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
267
|
+
name: "x",
|
|
268
|
+
size: 24,
|
|
269
|
+
color: theme.textSecondary
|
|
296
270
|
})
|
|
297
|
-
})
|
|
298
|
-
})
|
|
271
|
+
})]
|
|
272
|
+
}), /*#__PURE__*/_jsx(ScrollView, {
|
|
273
|
+
style: styles.sheetScroll,
|
|
274
|
+
children: params.sections.map(section => /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
275
|
+
style: styles.sheetItem,
|
|
276
|
+
onPress: () => scrollToSection(section.id),
|
|
277
|
+
children: [/*#__PURE__*/_jsx(Typography, {
|
|
278
|
+
variant: "body",
|
|
279
|
+
color: theme.textPrimary,
|
|
280
|
+
children: section.title
|
|
281
|
+
}), /*#__PURE__*/_jsx(Icon, {
|
|
282
|
+
name: "chevron-right",
|
|
283
|
+
size: 20,
|
|
284
|
+
color: theme.textSecondary
|
|
285
|
+
})]
|
|
286
|
+
}, section.id))
|
|
287
|
+
})]
|
|
299
288
|
})]
|
|
300
289
|
});
|
|
301
290
|
};
|
|
@@ -488,18 +477,6 @@ const styles = StyleSheet.create({
|
|
|
488
477
|
borderRadius: 4,
|
|
489
478
|
backgroundColor: '#10B981'
|
|
490
479
|
},
|
|
491
|
-
modalOverlay: {
|
|
492
|
-
flex: 1,
|
|
493
|
-
backgroundColor: 'rgba(0,0,0,0.4)',
|
|
494
|
-
justifyContent: 'flex-end'
|
|
495
|
-
},
|
|
496
|
-
bottomSheet: {
|
|
497
|
-
backgroundColor: '#FFFFFF',
|
|
498
|
-
borderTopLeftRadius: 20,
|
|
499
|
-
borderTopRightRadius: 20,
|
|
500
|
-
paddingBottom: 40,
|
|
501
|
-
maxHeight: '70%'
|
|
502
|
-
},
|
|
503
480
|
sheetHeader: {
|
|
504
481
|
flexDirection: 'row',
|
|
505
482
|
justifyContent: 'space-between',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useRef","View","ScrollView","StyleSheet","TouchableOpacity","StatusBar","FlatList","Modal","TouchableWithoutFeedback","SafeAreaView","useTheme","Typography","Icon","jsx","_jsx","jsxs","_jsxs","QBankSubTopicScreen","params","hideHeader","onBack","onPressModule","onPressFilter","onPressSearch","theme","activeFilter","setActiveFilter","filters","showTOC","setShowTOC","scrollRef","sectionPositions","handleFilterPress","filter","scrollToSection","sectionId","yPos","current","undefined","scrollTo","y","animated","renderFilterChip","item","isActive","style","styles","filterChip","backgroundColor","primary","borderColor","onPress","children","variant","color","textSecondary","filterChipText","container","edges","barStyle","header","headerIconBtnLeft","name","size","textPrimary","headerTitle","title","headerRightActions","headerIconBtnRight","filtersContainer","horizontal","showsHorizontalScrollIndicator","data","keyExtractor","renderItem","contentContainerStyle","filtersContent","ref","scrollContent","showsVerticalScrollIndicator","overviewRow","bold","overview","toUpperCase","overviewSub","totalModules","sections","map","section","sectionContainer","onLayout","event","layout","nativeEvent","id","sectionTitleRow","sectionTitleDot","sectionTitleText","modules","moduleItem","mIdx","isLast","length","timelineRow","timelineCol","timelineLine","timelineNode","timelineNodeText","number","moduleCard","activeOpacity","moduleInfo","moduleTitle","moduleStats","moduleStatText","rating","moduleStatSubtext","questionCount","moduleStatus","status","attemptStatus","freeBadge","success","fontSize","lockedBadge","alignItems","completedBadge","correctPercentage","marginTop","visible","transparent","animationType","onRequestClose","modalOverlay","bottomSheet","sheetHeader","sheetScroll","sheetItem","create","flex","flexDirection","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","width","height","justifyContent","fontWeight","textAlign","gap","borderRadius","borderWidth","marginRight","paddingBottom","marginBottom","letterSpacing","position","top","bottom","zIndex","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","lineHeight","marginLeft","borderTopLeftRadius","borderTopRightRadius","maxHeight"],"sourceRoot":"../../../../src","sources":["screens/qbank/QBankSubTopicScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useState","useRef","View","ScrollView","StyleSheet","TouchableOpacity","StatusBar","FlatList","SafeAreaView","useTheme","Typography","Icon","BottomSheet","jsx","_jsx","jsxs","_jsxs","QBankSubTopicScreen","params","hideHeader","onBack","onPressModule","onPressFilter","onPressSearch","theme","activeFilter","setActiveFilter","filters","showTOC","setShowTOC","scrollRef","sectionPositions","handleFilterPress","filter","scrollToSection","sectionId","yPos","current","undefined","scrollTo","y","animated","renderFilterChip","item","isActive","style","styles","filterChip","backgroundColor","primary","borderColor","onPress","children","variant","color","textSecondary","filterChipText","container","edges","barStyle","header","headerIconBtnLeft","name","size","textPrimary","headerTitle","title","headerRightActions","headerIconBtnRight","filtersContainer","horizontal","showsHorizontalScrollIndicator","data","keyExtractor","renderItem","contentContainerStyle","filtersContent","ref","scrollContent","showsVerticalScrollIndicator","overviewRow","bold","overview","toUpperCase","overviewSub","totalModules","sections","map","section","sectionContainer","onLayout","event","layout","nativeEvent","id","sectionTitleRow","sectionTitleDot","sectionTitleText","modules","moduleItem","mIdx","isLast","length","timelineRow","timelineCol","timelineLine","timelineNode","timelineNodeText","number","moduleCard","activeOpacity","moduleInfo","moduleTitle","moduleStats","moduleStatText","rating","moduleStatSubtext","questionCount","moduleStatus","status","attemptStatus","freeBadge","success","fontSize","lockedBadge","alignItems","completedBadge","correctPercentage","marginTop","visible","onClose","height","sheetHeader","sheetScroll","sheetItem","create","flex","flexDirection","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","width","justifyContent","fontWeight","textAlign","gap","borderRadius","borderWidth","marginRight","paddingBottom","marginBottom","letterSpacing","position","top","bottom","zIndex","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","lineHeight","marginLeft"],"sourceRoot":"../../../../src","sources":["screens/qbank/QBankSubTopicScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface BottomSheetProps {
|
|
3
|
+
visible: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
height?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const BottomSheet: React.FC<BottomSheetProps>;
|
|
9
|
+
//# sourceMappingURL=BottomSheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../../src/components/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAajD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqFlD,CAAC"}
|
|
@@ -4,6 +4,7 @@ export { Card } from './Card.js';
|
|
|
4
4
|
export { ProgressBar } from './ProgressBar.js';
|
|
5
5
|
export { CircularProgress } from './CircularProgress.js';
|
|
6
6
|
export { Icon } from './Icon.js';
|
|
7
|
+
export { BottomSheet } from './BottomSheet.js';
|
|
7
8
|
export type { IconName } from './Icon.js';
|
|
8
9
|
export { DEFAULT_THEME, useTheme, ThemeProvider } from '../context/ThemeContext.js';
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAQ,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAQ,CAAC;AAC9B,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAQ,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,4BAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAQ,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAQ,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAe,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAQ,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,4BAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QBankSubTopicScreen.d.ts","sourceRoot":"","sources":["../../../../../src/screens/qbank/QBankSubTopicScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"QBankSubTopicScreen.d.ts","sourceRoot":"","sources":["../../../../../src/screens/qbank/QBankSubTopicScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAYhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAa,CAAC;AAEvD,UAAU,wBAAwB;IAChC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA4OlE,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import React, { useEffect, useRef } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
View,
|
|
4
|
+
Modal,
|
|
5
|
+
Animated,
|
|
6
|
+
PanResponder,
|
|
7
|
+
StyleSheet,
|
|
8
|
+
Dimensions,
|
|
9
|
+
TouchableWithoutFeedback,
|
|
10
|
+
} from 'react-native';
|
|
11
|
+
|
|
12
|
+
const { height: SCREEN_HEIGHT } = Dimensions.get('window');
|
|
13
|
+
|
|
14
|
+
export interface BottomSheetProps {
|
|
15
|
+
visible: boolean;
|
|
16
|
+
onClose: () => void;
|
|
17
|
+
children: React.ReactNode;
|
|
18
|
+
height?: number;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const BottomSheet: React.FC<BottomSheetProps> = ({
|
|
22
|
+
visible,
|
|
23
|
+
onClose,
|
|
24
|
+
children,
|
|
25
|
+
height = SCREEN_HEIGHT * 0.7,
|
|
26
|
+
}) => {
|
|
27
|
+
const panY = useRef(new Animated.Value(height)).current;
|
|
28
|
+
const [modalVisible, setModalVisible] = React.useState(visible);
|
|
29
|
+
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
if (visible) {
|
|
32
|
+
setModalVisible(true);
|
|
33
|
+
Animated.spring(panY, {
|
|
34
|
+
toValue: 0,
|
|
35
|
+
useNativeDriver: true,
|
|
36
|
+
bounciness: 0,
|
|
37
|
+
}).start();
|
|
38
|
+
} else {
|
|
39
|
+
closeAnim();
|
|
40
|
+
}
|
|
41
|
+
}, [visible]);
|
|
42
|
+
|
|
43
|
+
const closeAnim = () => {
|
|
44
|
+
Animated.timing(panY, {
|
|
45
|
+
toValue: height,
|
|
46
|
+
duration: 300,
|
|
47
|
+
useNativeDriver: true,
|
|
48
|
+
}).start(() => {
|
|
49
|
+
setModalVisible(false);
|
|
50
|
+
onClose();
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const panResponder = useRef(
|
|
55
|
+
PanResponder.create({
|
|
56
|
+
onStartShouldSetPanResponder: () => true,
|
|
57
|
+
onMoveShouldSetPanResponder: (_, gestureState) => {
|
|
58
|
+
return Math.abs(gestureState.dy) > 10;
|
|
59
|
+
},
|
|
60
|
+
onPanResponderMove: (_, gestureState) => {
|
|
61
|
+
if (gestureState.dy > 0) {
|
|
62
|
+
panY.setValue(gestureState.dy);
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
onPanResponderRelease: (_, gestureState) => {
|
|
66
|
+
if (gestureState.dy > height / 4 || gestureState.vy > 0.5) {
|
|
67
|
+
closeAnim();
|
|
68
|
+
} else {
|
|
69
|
+
Animated.spring(panY, {
|
|
70
|
+
toValue: 0,
|
|
71
|
+
useNativeDriver: true,
|
|
72
|
+
bounciness: 0,
|
|
73
|
+
}).start();
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
})
|
|
77
|
+
).current;
|
|
78
|
+
|
|
79
|
+
return (
|
|
80
|
+
<Modal
|
|
81
|
+
visible={modalVisible}
|
|
82
|
+
transparent
|
|
83
|
+
animationType="none"
|
|
84
|
+
onRequestClose={closeAnim}
|
|
85
|
+
>
|
|
86
|
+
<View style={styles.overlay}>
|
|
87
|
+
<TouchableWithoutFeedback onPress={closeAnim}>
|
|
88
|
+
<View style={styles.background} />
|
|
89
|
+
</TouchableWithoutFeedback>
|
|
90
|
+
<Animated.View
|
|
91
|
+
style={[
|
|
92
|
+
styles.container,
|
|
93
|
+
{ height, transform: [{ translateY: panY }] },
|
|
94
|
+
]}
|
|
95
|
+
>
|
|
96
|
+
<View {...panResponder.panHandlers} style={styles.dragHandleContainer}>
|
|
97
|
+
<View style={styles.dragHandle} />
|
|
98
|
+
</View>
|
|
99
|
+
<View style={styles.contentContainer}>
|
|
100
|
+
{children}
|
|
101
|
+
</View>
|
|
102
|
+
</Animated.View>
|
|
103
|
+
</View>
|
|
104
|
+
</Modal>
|
|
105
|
+
);
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
const styles = StyleSheet.create({
|
|
109
|
+
overlay: {
|
|
110
|
+
flex: 1,
|
|
111
|
+
justifyContent: 'flex-end',
|
|
112
|
+
},
|
|
113
|
+
background: {
|
|
114
|
+
...StyleSheet.absoluteFillObject,
|
|
115
|
+
backgroundColor: 'rgba(0,0,0,0.4)',
|
|
116
|
+
},
|
|
117
|
+
container: {
|
|
118
|
+
backgroundColor: '#FFFFFF',
|
|
119
|
+
borderTopLeftRadius: 20,
|
|
120
|
+
borderTopRightRadius: 20,
|
|
121
|
+
width: '100%',
|
|
122
|
+
shadowColor: '#000',
|
|
123
|
+
shadowOffset: { width: 0, height: -2 },
|
|
124
|
+
shadowOpacity: 0.1,
|
|
125
|
+
shadowRadius: 10,
|
|
126
|
+
elevation: 10,
|
|
127
|
+
},
|
|
128
|
+
dragHandleContainer: {
|
|
129
|
+
width: '100%',
|
|
130
|
+
height: 30,
|
|
131
|
+
alignItems: 'center',
|
|
132
|
+
justifyContent: 'center',
|
|
133
|
+
backgroundColor: 'transparent',
|
|
134
|
+
},
|
|
135
|
+
dragHandle: {
|
|
136
|
+
width: 40,
|
|
137
|
+
height: 5,
|
|
138
|
+
borderRadius: 3,
|
|
139
|
+
backgroundColor: '#CBD5E1',
|
|
140
|
+
},
|
|
141
|
+
contentContainer: {
|
|
142
|
+
flex: 1,
|
|
143
|
+
},
|
|
144
|
+
});
|
package/src/components/index.ts
CHANGED
|
@@ -4,5 +4,6 @@ export { Card } from './Card';
|
|
|
4
4
|
export { ProgressBar } from './ProgressBar';
|
|
5
5
|
export { CircularProgress } from './CircularProgress';
|
|
6
6
|
export { Icon } from './Icon';
|
|
7
|
+
export { BottomSheet } from './BottomSheet';
|
|
7
8
|
export type { IconName } from './Icon';
|
|
8
9
|
export { DEFAULT_THEME, useTheme, ThemeProvider } from '../context/ThemeContext';
|
|
@@ -6,12 +6,10 @@ import {
|
|
|
6
6
|
TouchableOpacity,
|
|
7
7
|
StatusBar,
|
|
8
8
|
FlatList,
|
|
9
|
-
Modal,
|
|
10
|
-
TouchableWithoutFeedback,
|
|
11
9
|
} from 'react-native';
|
|
12
10
|
import { SafeAreaView } from 'react-native-safe-area-context';
|
|
13
11
|
import { useTheme } from '../../context/ThemeContext';
|
|
14
|
-
import { Typography, Icon } from '../../components';
|
|
12
|
+
import { Typography, Icon, BottomSheet } from '../../components';
|
|
15
13
|
import type { QBankSubTopicParams } from '../../types';
|
|
16
14
|
|
|
17
15
|
interface QBankSubTopicScreenProps {
|
|
@@ -228,41 +226,34 @@ export const QBankSubTopicScreen: React.FC<QBankSubTopicScreenProps> = ({
|
|
|
228
226
|
</ScrollView>
|
|
229
227
|
|
|
230
228
|
{/* Table of Contents Bottom Sheet Modal */}
|
|
231
|
-
<
|
|
229
|
+
<BottomSheet
|
|
232
230
|
visible={showTOC}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
onRequestClose={() => setShowTOC(false)}
|
|
231
|
+
onClose={() => setShowTOC(false)}
|
|
232
|
+
height={400}
|
|
236
233
|
>
|
|
237
|
-
<
|
|
238
|
-
<
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
))}
|
|
261
|
-
</ScrollView>
|
|
262
|
-
</View>
|
|
263
|
-
</TouchableWithoutFeedback>
|
|
264
|
-
</TouchableOpacity>
|
|
265
|
-
</Modal>
|
|
234
|
+
<View style={styles.sheetHeader}>
|
|
235
|
+
<Typography variant="h3" bold color={theme.textPrimary}>
|
|
236
|
+
Table of Contents
|
|
237
|
+
</Typography>
|
|
238
|
+
<TouchableOpacity onPress={() => setShowTOC(false)}>
|
|
239
|
+
<Icon name="x" size={24} color={theme.textSecondary} />
|
|
240
|
+
</TouchableOpacity>
|
|
241
|
+
</View>
|
|
242
|
+
<ScrollView style={styles.sheetScroll}>
|
|
243
|
+
{params.sections.map((section) => (
|
|
244
|
+
<TouchableOpacity
|
|
245
|
+
key={section.id}
|
|
246
|
+
style={styles.sheetItem}
|
|
247
|
+
onPress={() => scrollToSection(section.id)}
|
|
248
|
+
>
|
|
249
|
+
<Typography variant="body" color={theme.textPrimary}>
|
|
250
|
+
{section.title}
|
|
251
|
+
</Typography>
|
|
252
|
+
<Icon name="chevron-right" size={20} color={theme.textSecondary} />
|
|
253
|
+
</TouchableOpacity>
|
|
254
|
+
))}
|
|
255
|
+
</ScrollView>
|
|
256
|
+
</BottomSheet>
|
|
266
257
|
|
|
267
258
|
</SafeAreaView>
|
|
268
259
|
);
|
|
@@ -450,18 +441,6 @@ const styles = StyleSheet.create({
|
|
|
450
441
|
borderRadius: 4,
|
|
451
442
|
backgroundColor: '#10B981',
|
|
452
443
|
},
|
|
453
|
-
modalOverlay: {
|
|
454
|
-
flex: 1,
|
|
455
|
-
backgroundColor: 'rgba(0,0,0,0.4)',
|
|
456
|
-
justifyContent: 'flex-end',
|
|
457
|
-
},
|
|
458
|
-
bottomSheet: {
|
|
459
|
-
backgroundColor: '#FFFFFF',
|
|
460
|
-
borderTopLeftRadius: 20,
|
|
461
|
-
borderTopRightRadius: 20,
|
|
462
|
-
paddingBottom: 40,
|
|
463
|
-
maxHeight: '70%',
|
|
464
|
-
},
|
|
465
444
|
sheetHeader: {
|
|
466
445
|
flexDirection: 'row',
|
|
467
446
|
justifyContent: 'space-between',
|