xref: /MusicFree/src/pages/setting/index.tsx (revision b4c389f44ac4dad056e7314478fadd2eca82a4b1)
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 {useParams} from '@/core/router';
7import HorizontalSafeAreaView from '@/components/base/horizontalSafeAreaView.tsx';
8import AppBar from '@/components/base/appBar';
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                <AppBar>{settingItem?.title}</AppBar>
19            )}
20
21            {type === 'plugin' ? (
22                <settingItem.component />
23            ) : (
24                <HorizontalSafeAreaView style={style.wrapper}>
25                    <settingItem.component />
26                </HorizontalSafeAreaView>
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