list.tsx
1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import React from 'react';
import { ListItem as RNEListItem, ListItemProps } from 'react-native-elements';
import {
DynamicStyleSheet,
useDynamicStyleSheet,
} from 'react-native-dark-mode';
import { colorPreset } from '../../design';
import { View, StyleSheet } from 'react-native';
const dynamicStyles = new DynamicStyleSheet({
containerStyle: {
backgroundColor: colorPreset.groupedBackgroundColor.secondary,
},
titleStyle: {
color: colorPreset.labelColor.primary,
},
subtitleStyle: {
color: colorPreset.labelColor.primary,
},
rightTitleStyle: {
color: colorPreset.labelColor.primary,
},
rightSubtitleStyle: {
color: colorPreset.labelColor.primary,
},
opaqueSeparator: {
backgroundColor: colorPreset.separator.opaque,
height: StyleSheet.hairlineWidth,
marginLeft: 16,
},
});
export const Divider = () => {
const styles = useDynamicStyleSheet(dynamicStyles);
return <View style={styles.opaqueSeparator} />;
};
export const ListItem = ({
containerStyle,
titleStyle,
subtitleStyle,
rightTitleStyle,
rightSubtitleStyle,
chevron,
...props
}: ListItemProps) => {
const styles = useDynamicStyleSheet(dynamicStyles);
return (
<RNEListItem
containerStyle={[styles.containerStyle, containerStyle]}
titleStyle={[styles.titleStyle, titleStyle]}
subtitleStyle={[styles.subtitleStyle, subtitleStyle]}
rightTitleStyle={[styles.rightTitleStyle, rightTitleStyle]}
rightSubtitleStyle={[styles.rightSubtitleStyle, rightSubtitleStyle]}
chevron={chevron ?? !!props.onPress}
{...props}
/>
);
};