xref: /MusicFree/src/pages/sheetDetail/components/navBar.tsx (revision 3499559f2361ece6dfcb195720cb12e56ac82e25)
1bf6e62f2S猫头猫import React from 'react';
2e7fa3837S猫头猫import {useNavigation} from '@react-navigation/native';
3e2edadd2S猫头猫import ComplexAppBar from '@/components/base/ComplexAppBar';
4e14deecfS猫头猫import MusicSheet from '@/core/musicSheet';
5e7fa3837S猫头猫import {ROUTE_PATH, useParams} from '@/entry/router';
6a3289929S猫头猫import useDialog from '@/components/dialogs/useDialog';
72a3194f5S猫头猫import Toast from '@/utils/toast';
8bf6e62f2S猫头猫
94060c00aS猫头猫export default function () {
1003f1f70cS猫头猫    const navigation = useNavigation<any>();
11e7fa3837S猫头猫    const {id = 'favorite'} = useParams<'sheet-detail'>();
1203f1f70cS猫头猫    const musicSheet = MusicSheet.useSheets(id);
13a3289929S猫头猫    const {showDialog} = useDialog();
14bf6e62f2S猫头猫
15bf6e62f2S猫头猫    return (
16e2edadd2S猫头猫        <ComplexAppBar
1703f1f70cS猫头猫            title="歌单"
1803f1f70cS猫头猫            onSearchPress={() => {
1903f1f70cS猫头猫                navigation.navigate(ROUTE_PATH.SEARCH_MUSIC_LIST, {
20a3289929S猫头猫                    musicList: musicSheet?.musicList,
2103f1f70cS猫头猫                });
22a3289929S猫头猫            }}
23a3289929S猫头猫            menuOptions={[
24a3289929S猫头猫                {
25a3289929S猫头猫                    icon: 'trash-can-outline',
26a3289929S猫头猫                    title: '删除歌单',
27a3289929S猫头猫                    show: id !== 'favorite',
28a3289929S猫头猫                    onPress() {
29a3289929S猫头猫                        showDialog('SimpleDialog', {
30a3289929S猫头猫                            title: '删除歌单',
31efc141fcS猫头猫                            content: `确定删除歌单「${musicSheet.title}」吗?`,
32a3289929S猫头猫                            onOk: async () => {
33a3289929S猫头猫                                await MusicSheet.removeSheet(id);
342a3194f5S猫头猫                                Toast.success('已删除');
35a3289929S猫头猫                                navigation.goBack();
36a3289929S猫头猫                            },
37a3289929S猫头猫                        });
38a3289929S猫头猫                    },
39a3289929S猫头猫                },
40f970486eS猫头猫                {
41f970486eS猫头猫                    icon: 'playlist-edit',
42f970486eS猫头猫                    title: '批量编辑',
43f970486eS猫头猫                    onPress() {
44f970486eS猫头猫                        navigation.navigate(ROUTE_PATH.MUSIC_LIST_EDITOR, {
45f970486eS猫头猫                            musicList: musicSheet.musicList,
46f970486eS猫头猫                            musicSheet: musicSheet,
47f970486eS猫头猫                        });
48f970486eS猫头猫                    },
49f970486eS猫头猫                },
50e26be108S猫头猫                {
51e26be108S猫头猫                    icon: 'square-edit-outline',
52e26be108S猫头猫                    title: '编辑歌单信息',
53e26be108S猫头猫                    onPress() {
54e26be108S猫头猫                        showDialog('EditSheetDetailDialog', {
55e26be108S猫头猫                            musicSheet: musicSheet,
56e26be108S猫头猫                        });
57e26be108S猫头猫                    },
58e26be108S猫头猫                },
59*3499559fS猫头猫                {
60*3499559fS猫头猫                    icon: 'sort',
61*3499559fS猫头猫                    title: '排序',
62*3499559fS猫头猫                    onPress() {
63*3499559fS猫头猫                        showDialog('RadioDialog', {
64*3499559fS猫头猫                            content: [
65*3499559fS猫头猫                                {
66*3499559fS猫头猫                                    value: 'random',
67*3499559fS猫头猫                                    key: '随机顺序',
68*3499559fS猫头猫                                },
69*3499559fS猫头猫                                {
70*3499559fS猫头猫                                    value: 'a2z',
71*3499559fS猫头猫                                    key: '歌曲名A-Z',
72*3499559fS猫头猫                                },
73*3499559fS猫头猫                                {
74*3499559fS猫头猫                                    value: 'z2a',
75*3499559fS猫头猫                                    key: '歌曲名Z-A',
76*3499559fS猫头猫                                },
77*3499559fS猫头猫                                {
78*3499559fS猫头猫                                    value: 'arta2z',
79*3499559fS猫头猫                                    key: '作者名A-Z',
80*3499559fS猫头猫                                },
81*3499559fS猫头猫                                {
82*3499559fS猫头猫                                    value: 'artz2a',
83*3499559fS猫头猫                                    key: '作者名Z-A',
84*3499559fS猫头猫                                },
85*3499559fS猫头猫                            ],
86*3499559fS猫头猫                            title: '排序',
87*3499559fS猫头猫                            async onOk(value) {
88*3499559fS猫头猫                                MusicSheet.sortMusicList(
89*3499559fS猫头猫                                    value as any,
90*3499559fS猫头猫                                    musicSheet,
91*3499559fS猫头猫                                );
92*3499559fS猫头猫                            },
93*3499559fS猫头猫                        });
94*3499559fS猫头猫                    },
95*3499559fS猫头猫                },
964060c00aS猫头猫            ]}
974060c00aS猫头猫        />
98bf6e62f2S猫头猫    );
99bf6e62f2S猫头猫}
100