1*bf6e62f2S猫头猫import React from 'react'; 2*bf6e62f2S猫头猫import { 3*bf6e62f2S猫头猫 BackHandler, 4*bf6e62f2S猫头猫 ImageBackground, 5*bf6e62f2S猫头猫 StyleSheet, 6*bf6e62f2S猫头猫 Text, 7*bf6e62f2S猫头猫 View, 8*bf6e62f2S猫头猫} from 'react-native'; 9*bf6e62f2S猫头猫import rpx from '@/utils/rpx'; 10*bf6e62f2S猫头猫import {DrawerContentScrollView} from '@react-navigation/drawer'; 11*bf6e62f2S猫头猫import {Button, Card, IconButton} from 'react-native-paper'; 12*bf6e62f2S猫头猫import MusicQueue from '@/common/musicQueue'; 13*bf6e62f2S猫头猫import ListItem from '@/components/listItem'; 14*bf6e62f2S猫头猫import {useNavigation} from '@react-navigation/native'; 15*bf6e62f2S猫头猫import {ROUTE_PATH} from '@/entry/router'; 16*bf6e62f2S猫头猫import { fontSizeConst, fontWeightConst } from '@/constants/uiConst'; 17*bf6e62f2S猫头猫import ThemeText from '@/components/themeText'; 18*bf6e62f2S猫头猫 19*bf6e62f2S猫头猫interface IDrawerProps {} 20*bf6e62f2S猫头猫 21*bf6e62f2S猫头猫export default function HomeDrawer(props: IDrawerProps) { 22*bf6e62f2S猫头猫 const navigation = useNavigation<any>(); 23*bf6e62f2S猫头猫 function navigateToSetting(settingType: string) { 24*bf6e62f2S猫头猫 navigation.navigate(ROUTE_PATH.SETTING, { 25*bf6e62f2S猫头猫 type: settingType, 26*bf6e62f2S猫头猫 }); 27*bf6e62f2S猫头猫 } 28*bf6e62f2S猫头猫 29*bf6e62f2S猫头猫 return ( 30*bf6e62f2S猫头猫 <ImageBackground 31*bf6e62f2S猫头猫 blurRadius={20} 32*bf6e62f2S猫头猫 source={require('@/assets/imgs/background.jpg')} 33*bf6e62f2S猫头猫 style={style.wrapper}> 34*bf6e62f2S猫头猫 <DrawerContentScrollView {...props} style={style.scrollWrapper}> 35*bf6e62f2S猫头猫 <View style={style.header}> 36*bf6e62f2S猫头猫 <ThemeText style={style.title}>Music Free</ThemeText> 37*bf6e62f2S猫头猫 <IconButton 38*bf6e62f2S猫头猫 icon={'qrcode-scan'} 39*bf6e62f2S猫头猫 size={rpx(36)}></IconButton> 40*bf6e62f2S猫头猫 </View> 41*bf6e62f2S猫头猫 <Card style={style.card}> 42*bf6e62f2S猫头猫 <Card.Title 43*bf6e62f2S猫头猫 title={<ThemeText style={style.cardTitle}>设置</ThemeText>}></Card.Title> 44*bf6e62f2S猫头猫 <Card.Content> 45*bf6e62f2S猫头猫 <ListItem 46*bf6e62f2S猫头猫 icon="cog-outline" 47*bf6e62f2S猫头猫 title="基本设置" 48*bf6e62f2S猫头猫 onPress={() => { 49*bf6e62f2S猫头猫 navigateToSetting('basic'); 50*bf6e62f2S猫头猫 }}></ListItem> 51*bf6e62f2S猫头猫 <ListItem 52*bf6e62f2S猫头猫 icon="language-javascript" 53*bf6e62f2S猫头猫 title="插件设置" 54*bf6e62f2S猫头猫 onPress={() => { 55*bf6e62f2S猫头猫 navigateToSetting('plugin'); 56*bf6e62f2S猫头猫 }}></ListItem> 57*bf6e62f2S猫头猫 <ListItem icon="tshirt-v-outline" title="主题设置"></ListItem> 58*bf6e62f2S猫头猫 <ListItem icon="backup-restore" title="备份与恢复"></ListItem> 59*bf6e62f2S猫头猫 </Card.Content> 60*bf6e62f2S猫头猫 </Card> 61*bf6e62f2S猫头猫 <View style={style.bottom}> 62*bf6e62f2S猫头猫 <Button 63*bf6e62f2S猫头猫 onPress={() => { 64*bf6e62f2S猫头猫 MusicQueue.stop(); 65*bf6e62f2S猫头猫 BackHandler.exitApp(); 66*bf6e62f2S猫头猫 }}> 67*bf6e62f2S猫头猫 退出 68*bf6e62f2S猫头猫 </Button> 69*bf6e62f2S猫头猫 </View> 70*bf6e62f2S猫头猫 </DrawerContentScrollView> 71*bf6e62f2S猫头猫 </ImageBackground> 72*bf6e62f2S猫头猫 ); 73*bf6e62f2S猫头猫} 74*bf6e62f2S猫头猫 75*bf6e62f2S猫头猫const style = StyleSheet.create({ 76*bf6e62f2S猫头猫 wrapper: { 77*bf6e62f2S猫头猫 flex: 1, 78*bf6e62f2S猫头猫 backgroundColor: '#999999', 79*bf6e62f2S猫头猫 }, 80*bf6e62f2S猫头猫 scrollWrapper: { 81*bf6e62f2S猫头猫 paddingHorizontal: rpx(24), 82*bf6e62f2S猫头猫 paddingTop: rpx(12), 83*bf6e62f2S猫头猫 }, 84*bf6e62f2S猫头猫 85*bf6e62f2S猫头猫 header: { 86*bf6e62f2S猫头猫 height: rpx(100), 87*bf6e62f2S猫头猫 width: '100%', 88*bf6e62f2S猫头猫 flexDirection: 'row', 89*bf6e62f2S猫头猫 justifyContent: 'space-between', 90*bf6e62f2S猫头猫 alignItems: 'center', 91*bf6e62f2S猫头猫 }, 92*bf6e62f2S猫头猫 title: { 93*bf6e62f2S猫头猫 fontSize: fontSizeConst.bigger, 94*bf6e62f2S猫头猫 includeFontPadding: false, 95*bf6e62f2S猫头猫 fontWeight: fontWeightConst.bold 96*bf6e62f2S猫头猫 }, 97*bf6e62f2S猫头猫 cardTitle: { 98*bf6e62f2S猫头猫 fontSize: fontSizeConst.small, 99*bf6e62f2S猫头猫 }, 100*bf6e62f2S猫头猫 card: { 101*bf6e62f2S猫头猫 backgroundColor: '#eeeeee22', 102*bf6e62f2S猫头猫 }, 103*bf6e62f2S猫头猫 bottom: { 104*bf6e62f2S猫头猫 height: rpx(100), 105*bf6e62f2S猫头猫 flexDirection: 'row', 106*bf6e62f2S猫头猫 alignItems: 'center', 107*bf6e62f2S猫头猫 justifyContent: 'flex-end', 108*bf6e62f2S猫头猫 }, 109*bf6e62f2S猫头猫}); 110