xref: /MusicFree/src/pages/setting/index.tsx (revision 734113be9d256a2b4d36bb272d6d3565beaeb236)
1import React from 'react';
2import {StyleSheet} from 'react-native';
3import settingTypes from './settingTypes';
4import {SafeAreaView} from 'react-native-safe-area-context';
5import StatusBar from '@/components/base/statusBar';
6import SimpleAppBar from '@/components/base/simpleAppBar';
7import {useParams} from '@/entry/router';
8import HorizonalSafeAreaView from '@/components/base/horizonalSafeAreaView';
9
10export default function Setting() {
11    const {type} = useParams<'setting'>();
12    const settingItem = settingTypes[type];
13
14    return (
15        <SafeAreaView edges={['bottom', 'top']} style={style.wrapper}>
16            <StatusBar />
17            {settingItem.showNav === false ? null : (
18                <SimpleAppBar title={settingItem?.title} />
19            )}
20
21            {type === 'plugin' ? (
22                <settingItem.component />
23            ) : (
24                <HorizonalSafeAreaView style={style.wrapper}>
25                    <settingItem.component />
26                </HorizonalSafeAreaView>
27            )}
28        </SafeAreaView>
29    );
30}
31
32const style = StyleSheet.create({
33    wrapper: {
34        width: '100%',
35        flex: 1,
36    },
37    appbar: {
38        shadowColor: 'transparent',
39        backgroundColor: '#2b333eaa',
40    },
41    header: {
42        backgroundColor: 'transparent',
43        shadowColor: 'transparent',
44    },
45});
46