1bf6e62f2S猫头猫import React from 'react'; 2e2257bd6S猫头猫import {StyleSheet, View} from 'react-native'; 3bf6e62f2S猫头猫import rpx from '@/utils/rpx'; 4bf6e62f2S猫头猫import {DrawerContentScrollView} from '@react-navigation/drawer'; 5b882a19dS猫头猫import {Button, Card} from 'react-native-paper'; 619dc08ecS猫头猫import ListItem from '@/components/base/listItem'; 7bf6e62f2S猫头猫import {useNavigation} from '@react-navigation/native'; 8bf6e62f2S猫头猫import {ROUTE_PATH} from '@/entry/router'; 919dc08ecS猫头猫import ThemeText from '@/components/base/themeText'; 1019dc08ecS猫头猫import PageBackground from '@/components/base/pageBackground'; 11c7676810S猫头猫import DeviceInfo from 'react-native-device-info'; 12*9cd1998bS猫头猫import NativeUtils from '@/native/utils'; 13e2257bd6S猫头猫import MusicQueue from '@/core/musicQueue'; 14bf6e62f2S猫头猫 154060c00aS猫头猫export default function HomeDrawer(props: any) { 16bf6e62f2S猫头猫 const navigation = useNavigation<any>(); 17bf6e62f2S猫头猫 function navigateToSetting(settingType: string) { 18bf6e62f2S猫头猫 navigation.navigate(ROUTE_PATH.SETTING, { 19bf6e62f2S猫头猫 type: settingType, 20bf6e62f2S猫头猫 }); 21bf6e62f2S猫头猫 } 223ee62d1bS猫头猫 233ee62d1bS猫头猫 const basicSetting = [ 243ee62d1bS猫头猫 { 253ee62d1bS猫头猫 icon: 'cog-outline', 263ee62d1bS猫头猫 title: '基本设置', 273ee62d1bS猫头猫 onPress: () => { 283ee62d1bS猫头猫 navigateToSetting('basic'); 293ee62d1bS猫头猫 }, 303ee62d1bS猫头猫 }, 313ee62d1bS猫头猫 { 323ee62d1bS猫头猫 icon: 'language-javascript', 333ee62d1bS猫头猫 title: '插件设置', 343ee62d1bS猫头猫 onPress: () => { 353ee62d1bS猫头猫 navigateToSetting('plugin'); 363ee62d1bS猫头猫 }, 373ee62d1bS猫头猫 }, 383ee62d1bS猫头猫 { 393ee62d1bS猫头猫 icon: 'tshirt-v-outline', 403ee62d1bS猫头猫 title: '主题设置', 413ee62d1bS猫头猫 onPress: () => { 423ee62d1bS猫头猫 navigateToSetting('theme'); 433ee62d1bS猫头猫 }, 443ee62d1bS猫头猫 }, 453ee62d1bS猫头猫 { 463ee62d1bS猫头猫 icon: 'backup-restore', 473ee62d1bS猫头猫 title: '备份与恢复', 48dec7a5f8S猫头猫 onPress: () => { 49dec7a5f8S猫头猫 navigateToSetting('backup'); 50dec7a5f8S猫头猫 }, 513ee62d1bS猫头猫 }, 520cffb46aS猫头猫 { 530cffb46aS猫头猫 icon: 'information-outline', 540cffb46aS猫头猫 title: '关于', 550cffb46aS猫头猫 onPress: () => { 560cffb46aS猫头猫 navigateToSetting('about'); 570cffb46aS猫头猫 }, 580cffb46aS猫头猫 }, 593ee62d1bS猫头猫 ] as const; 603ee62d1bS猫头猫 61bf6e62f2S猫头猫 return ( 6265fc5a50S猫头猫 <> 634060c00aS猫头猫 <PageBackground /> 644060c00aS猫头猫 <DrawerContentScrollView {...[props]} style={style.scrollWrapper}> 65bf6e62f2S猫头猫 <View style={style.header}> 66dec7a5f8S猫头猫 <ThemeText fontSize="appbar" fontWeight="bold"> 67dec7a5f8S猫头猫 {DeviceInfo.getApplicationName()} 68dec7a5f8S猫头猫 </ThemeText> 69b882a19dS猫头猫 {/* <IconButton icon={'qrcode-scan'} size={rpx(36)} /> */} 70bf6e62f2S猫头猫 </View> 71bf6e62f2S猫头猫 <Card style={style.card}> 72bf6e62f2S猫头猫 <Card.Title 738b51f01aS猫头猫 title={ 74dec7a5f8S猫头猫 <ThemeText fontSize="description">设置</ThemeText> 754060c00aS猫头猫 } 764060c00aS猫头猫 /> 77dec7a5f8S猫头猫 <Card.Content style={style.cardContent}> 783ee62d1bS猫头猫 {basicSetting.map(item => ( 79bf6e62f2S猫头猫 <ListItem 80dec7a5f8S猫头猫 itemHeight={rpx(110)} 813ee62d1bS猫头猫 key={item.title} 823ee62d1bS猫头猫 left={{ 833ee62d1bS猫头猫 icon: { 843ee62d1bS猫头猫 name: item.icon, 853ee62d1bS猫头猫 size: 'normal', 863ee62d1bS猫头猫 fontColor: 'normal', 873ee62d1bS猫头猫 }, 883ee62d1bS猫头猫 width: rpx(48), 893ee62d1bS猫头猫 }} 903ee62d1bS猫头猫 title={item.title} 914060c00aS猫头猫 onPress={item.onPress} 924060c00aS猫头猫 /> 933ee62d1bS猫头猫 ))} 94bf6e62f2S猫头猫 </Card.Content> 95bf6e62f2S猫头猫 </Card> 96bf6e62f2S猫头猫 <View style={style.bottom}> 97bf6e62f2S猫头猫 <Button 98e2257bd6S猫头猫 onPress={async () => { 99e2257bd6S猫头猫 await MusicQueue.reset(); 100e2257bd6S猫头猫 NativeUtils.exitApp(); 101bf6e62f2S猫头猫 }}> 102e2257bd6S猫头猫 <ThemeText>退出</ThemeText> 103bf6e62f2S猫头猫 </Button> 104bf6e62f2S猫头猫 </View> 105bf6e62f2S猫头猫 </DrawerContentScrollView> 10665fc5a50S猫头猫 </> 107bf6e62f2S猫头猫 ); 108bf6e62f2S猫头猫} 109bf6e62f2S猫头猫 110bf6e62f2S猫头猫const style = StyleSheet.create({ 111bf6e62f2S猫头猫 wrapper: { 112bf6e62f2S猫头猫 flex: 1, 113bf6e62f2S猫头猫 backgroundColor: '#999999', 114bf6e62f2S猫头猫 }, 115bf6e62f2S猫头猫 scrollWrapper: { 116bf6e62f2S猫头猫 paddingHorizontal: rpx(24), 117bf6e62f2S猫头猫 paddingTop: rpx(12), 118bf6e62f2S猫头猫 }, 119bf6e62f2S猫头猫 120bf6e62f2S猫头猫 header: { 121bf6e62f2S猫头猫 height: rpx(100), 122bf6e62f2S猫头猫 width: '100%', 123bf6e62f2S猫头猫 flexDirection: 'row', 124bf6e62f2S猫头猫 justifyContent: 'space-between', 125bf6e62f2S猫头猫 alignItems: 'center', 126bf6e62f2S猫头猫 }, 127bf6e62f2S猫头猫 card: { 128bf6e62f2S猫头猫 backgroundColor: '#eeeeee22', 129bf6e62f2S猫头猫 }, 130dec7a5f8S猫头猫 cardContent: { 1314060c00aS猫头猫 paddingHorizontal: 0, 132dec7a5f8S猫头猫 }, 133bf6e62f2S猫头猫 bottom: { 134bf6e62f2S猫头猫 height: rpx(100), 135bf6e62f2S猫头猫 flexDirection: 'row', 136bf6e62f2S猫头猫 alignItems: 'center', 137bf6e62f2S猫头猫 justifyContent: 'flex-end', 138bf6e62f2S猫头猫 }, 139bf6e62f2S猫头猫}); 140