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