xref: /MusicFree/src/pages/localMusic/mainPage/index.tsx (revision ceb900cd812eb1b086ac040a306ddf325339e920)
150800d1bS猫头猫import React from 'react';
250800d1bS猫头猫import ComplexAppBar from '@/components/base/ComplexAppBar';
350800d1bS猫头猫import LocalMusicSheet from '@/core/localMusicSheet';
450800d1bS猫头猫import {ROUTE_PATH, useNavigate} from '@/entry/router';
550800d1bS猫头猫import LocalMusicList from './localMusicList';
650800d1bS猫头猫import MusicBar from '@/components/musicBar';
754bb1cc8S猫头猫import {localMusicSheetId} from '@/constants/commonConst';
8b6261296S猫头猫import useDialog from '@/components/dialogs/useDialog';
9b6261296S猫头猫import Toast from '@/utils/toast';
1050800d1bS猫头猫
1150800d1bS猫头猫export default function MainPage() {
1250800d1bS猫头猫    const navigate = useNavigate();
13b6261296S猫头猫    const {showDialog} = useDialog();
1450800d1bS猫头猫    return (
1550800d1bS猫头猫        <>
1650800d1bS猫头猫            <ComplexAppBar
1750800d1bS猫头猫                title="本地音乐"
1850800d1bS猫头猫                onSearchPress={() => {
1950800d1bS猫头猫                    navigate(ROUTE_PATH.SEARCH_MUSIC_LIST, {
2050800d1bS猫头猫                        musicList: LocalMusicSheet.getMusicList(),
2150800d1bS猫头猫                    });
2250800d1bS猫头猫                }}
2350800d1bS猫头猫                menuOptions={[
2450800d1bS猫头猫                    {
2550800d1bS猫头猫                        icon: 'magnify',
2650800d1bS猫头猫                        title: '扫描本地音乐',
2750800d1bS猫头猫                        async onPress() {
28b6261296S猫头猫                            navigate(ROUTE_PATH.FILE_SELECTOR, {
29b6261296S猫头猫                                fileType: 'folder',
30b6261296S猫头猫                                multi: true,
31b6261296S猫头猫                                actionText: '开始扫描',
32b6261296S猫头猫                                async onAction(selectedFiles) {
33b6261296S猫头猫                                    return new Promise(resolve => {
34b6261296S猫头猫                                        showDialog('LoadingDialog', {
35b6261296S猫头猫                                            title: '扫描本地音乐',
36b6261296S猫头猫                                            promise:
37b6261296S猫头猫                                                LocalMusicSheet.importLocal(
38b6261296S猫头猫                                                    selectedFiles.map(
39b6261296S猫头猫                                                        _ => _.path,
40b6261296S猫头猫                                                    ),
41b6261296S猫头猫                                                ),
42b6261296S猫头猫                                            onResolve(data, hideDialog) {
43b6261296S猫头猫                                                Toast.success('导入成功~');
44b6261296S猫头猫                                                hideDialog();
45b6261296S猫头猫                                                resolve(true);
46b6261296S猫头猫                                            },
47b6261296S猫头猫                                            onCancel(hideDialog) {
48b6261296S猫头猫                                                LocalMusicSheet.cancelImportLocal();
49b6261296S猫头猫                                                hideDialog();
50b6261296S猫头猫                                                resolve(false);
51b6261296S猫头猫                                            },
52b6261296S猫头猫                                        });
53b6261296S猫头猫                                    });
54b6261296S猫头猫                                },
55b6261296S猫头猫                            });
5650800d1bS猫头猫                        },
5750800d1bS猫头猫                    },
5850800d1bS猫头猫                    {
5950800d1bS猫头猫                        icon: 'playlist-edit',
6050800d1bS猫头猫                        title: '批量编辑',
6150800d1bS猫头猫                        async onPress() {
6250800d1bS猫头猫                            navigate(ROUTE_PATH.MUSIC_LIST_EDITOR, {
6350800d1bS猫头猫                                musicList: LocalMusicSheet.getMusicList(),
6454bb1cc8S猫头猫                                musicSheet: {
6554bb1cc8S猫头猫                                    id: localMusicSheetId,
6654bb1cc8S猫头猫                                },
6750800d1bS猫头猫                            });
6850800d1bS猫头猫                        },
6950800d1bS猫头猫                    },
70*ceb900cdS猫头猫                    {
71*ceb900cdS猫头猫                        icon: 'download',
72*ceb900cdS猫头猫                        title: '下载列表',
73*ceb900cdS猫头猫                        async onPress() {
74*ceb900cdS猫头猫                            navigate(ROUTE_PATH.DOWNLOADING);
75*ceb900cdS猫头猫                        },
76*ceb900cdS猫头猫                    },
7750800d1bS猫头猫                ]}
7850800d1bS猫头猫            />
7950800d1bS猫头猫            <LocalMusicList />
8050800d1bS猫头猫            <MusicBar />
8150800d1bS猫头猫        </>
8250800d1bS猫头猫    );
8350800d1bS猫头猫}
84