xref: /MusicFree/src/pages/setting/index.tsx (revision 1c06c79946b30f194df132a91b10963b5dd338bc)
1bf6e62f2S猫头猫import React from 'react';
2*1c06c799S猫头猫import {StatusBar, StyleSheet} from 'react-native';
3bf6e62f2S猫头猫import rpx from '@/utils/rpx';
4bf6e62f2S猫头猫import {useNavigation, useRoute, useTheme} from '@react-navigation/native';
5bf6e62f2S猫头猫import {Appbar} from 'react-native-paper';
6bf6e62f2S猫头猫import settingTypes from './settingTypes';
7bf6e62f2S猫头猫import {fontSizeConst, fontWeightConst} from '@/constants/uiConst';
8bf6e62f2S猫头猫import ThemeText from '@/components/themeText';
9*1c06c799S猫头猫import { SafeAreaView } from 'react-native-safe-area-context';
10bf6e62f2S猫头猫
11bf6e62f2S猫头猫interface ISettingProps {}
12bf6e62f2S猫头猫export default function Setting(props: ISettingProps) {
13bf6e62f2S猫头猫  const route = useRoute<any>();
14bf6e62f2S猫头猫  const navigation = useNavigation();
15bf6e62f2S猫头猫  const type: string = route.params?.type;
16bf6e62f2S猫头猫  const settingItem = settingTypes[type];
17bf6e62f2S猫头猫
18bf6e62f2S猫头猫  const {colors} = useTheme();
19bf6e62f2S猫头猫
20bf6e62f2S猫头猫  return (
21*1c06c799S猫头猫    <SafeAreaView style={style.wrapper}>
22*1c06c799S猫头猫      <StatusBar></StatusBar>
23bf6e62f2S猫头猫      <Appbar style={[style.appbar, {backgroundColor: colors.primary}]}>
24bf6e62f2S猫头猫          <Appbar.BackAction
25bf6e62f2S猫头猫            color={colors.text}
26bf6e62f2S猫头猫            onPress={() => {
27bf6e62f2S猫头猫              navigation.goBack();
28bf6e62f2S猫头猫            }}></Appbar.BackAction>
29bf6e62f2S猫头猫          <Appbar.Header style={style.header}>
30bf6e62f2S猫头猫            <ThemeText style={style.header}>{settingItem?.title}</ThemeText>
31bf6e62f2S猫头猫          </Appbar.Header>
32bf6e62f2S猫头猫        </Appbar>
33bf6e62f2S猫头猫      <settingItem.component></settingItem.component>
34*1c06c799S猫头猫    </SafeAreaView>
35bf6e62f2S猫头猫  );
36bf6e62f2S猫头猫}
37bf6e62f2S猫头猫
38bf6e62f2S猫头猫const style = StyleSheet.create({
39bf6e62f2S猫头猫  wrapper: {
40bf6e62f2S猫头猫    width: rpx(750),
41*1c06c799S猫头猫    flex: 1
42bf6e62f2S猫头猫  },
43bf6e62f2S猫头猫  appbar: {
44bf6e62f2S猫头猫    shadowColor: 'transparent',
45*1c06c799S猫头猫    backgroundColor: '#2b333eaa'
46bf6e62f2S猫头猫  },
47bf6e62f2S猫头猫  header: {
48bf6e62f2S猫头猫    backgroundColor: 'transparent',
49bf6e62f2S猫头猫    shadowColor: 'transparent',
50bf6e62f2S猫头猫    fontSize: fontSizeConst.big,
51bf6e62f2S猫头猫    fontWeight: fontWeightConst.bold,
52bf6e62f2S猫头猫  },
53bf6e62f2S猫头猫});
54