xref: /MusicFree/src/pages/localMusic/mainPage/index.tsx (revision b4c389f44ac4dad056e7314478fadd2eca82a4b1)
150800d1bS猫头猫import React from 'react';
250800d1bS猫头猫import LocalMusicSheet from '@/core/localMusicSheet';
3*b4c389f4Smaotoumaoimport {ROUTE_PATH, useNavigate} from '@/core/router';
450800d1bS猫头猫import LocalMusicList from './localMusicList';
550800d1bS猫头猫import MusicBar from '@/components/musicBar';
654bb1cc8S猫头猫import {localMusicSheetId} from '@/constants/commonConst';
7b6261296S猫头猫import Toast from '@/utils/toast';
875d76114S猫头猫import {showDialog} from '@/components/dialogs/useDialog';
97a8d024eS猫头猫import AppBar from '@/components/base/appBar';
1050800d1bS猫头猫
1150800d1bS猫头猫export default function MainPage() {
1250800d1bS猫头猫    const navigate = useNavigate();
1350800d1bS猫头猫    return (
1450800d1bS猫头猫        <>
157a8d024eS猫头猫            <AppBar
167a8d024eS猫头猫                withStatusBar
177a8d024eS猫头猫                actions={[
187a8d024eS猫头猫                    {
195589cdf3S猫头猫                        icon: 'magnifying-glass',
207a8d024eS猫头猫                        onPress() {
2150800d1bS猫头猫                            navigate(ROUTE_PATH.SEARCH_MUSIC_LIST, {
2250800d1bS猫头猫                                musicList: LocalMusicSheet.getMusicList(),
2350800d1bS猫头猫                            });
247a8d024eS猫头猫                        },
257a8d024eS猫头猫                    },
267a8d024eS猫头猫                ]}
277a8d024eS猫头猫                menu={[
2850800d1bS猫头猫                    {
295589cdf3S猫头猫                        icon: 'magnifying-glass',
3050800d1bS猫头猫                        title: '扫描本地音乐',
3150800d1bS猫头猫                        async onPress() {
32b6261296S猫头猫                            navigate(ROUTE_PATH.FILE_SELECTOR, {
33b6261296S猫头猫                                fileType: 'folder',
34b6261296S猫头猫                                multi: true,
35b6261296S猫头猫                                actionText: '开始扫描',
36b6261296S猫头猫                                async onAction(selectedFiles) {
37b6261296S猫头猫                                    return new Promise(resolve => {
38b6261296S猫头猫                                        showDialog('LoadingDialog', {
39b6261296S猫头猫                                            title: '扫描本地音乐',
40b6261296S猫头猫                                            promise:
41b6261296S猫头猫                                                LocalMusicSheet.importLocal(
42b6261296S猫头猫                                                    selectedFiles.map(
43b6261296S猫头猫                                                        _ => _.path,
44b6261296S猫头猫                                                    ),
45b6261296S猫头猫                                                ),
46b6261296S猫头猫                                            onResolve(data, hideDialog) {
47b6261296S猫头猫                                                Toast.success('导入成功~');
48b6261296S猫头猫                                                hideDialog();
49b6261296S猫头猫                                                resolve(true);
50b6261296S猫头猫                                            },
51b6261296S猫头猫                                            onCancel(hideDialog) {
52b6261296S猫头猫                                                LocalMusicSheet.cancelImportLocal();
53b6261296S猫头猫                                                hideDialog();
54b6261296S猫头猫                                                resolve(false);
55b6261296S猫头猫                                            },
56b6261296S猫头猫                                        });
57b6261296S猫头猫                                    });
58b6261296S猫头猫                                },
59b6261296S猫头猫                            });
6050800d1bS猫头猫                        },
6150800d1bS猫头猫                    },
6250800d1bS猫头猫                    {
635589cdf3S猫头猫                        icon: 'pencil-square',
6450800d1bS猫头猫                        title: '批量编辑',
6550800d1bS猫头猫                        async onPress() {
6650800d1bS猫头猫                            navigate(ROUTE_PATH.MUSIC_LIST_EDITOR, {
6750800d1bS猫头猫                                musicList: LocalMusicSheet.getMusicList(),
6854bb1cc8S猫头猫                                musicSheet: {
6954bb1cc8S猫头猫                                    id: localMusicSheetId,
7054bb1cc8S猫头猫                                },
7150800d1bS猫头猫                            });
7250800d1bS猫头猫                        },
7350800d1bS猫头猫                    },
74ceb900cdS猫头猫                    {
755589cdf3S猫头猫                        icon: 'arrow-down-tray',
76ceb900cdS猫头猫                        title: '下载列表',
77ceb900cdS猫头猫                        async onPress() {
78ceb900cdS猫头猫                            navigate(ROUTE_PATH.DOWNLOADING);
79ceb900cdS猫头猫                        },
80ceb900cdS猫头猫                    },
817a8d024eS猫头猫                ]}>
827a8d024eS猫头猫                本地音乐
837a8d024eS猫头猫            </AppBar>
8450800d1bS猫头猫            <LocalMusicList />
8550800d1bS猫头猫            <MusicBar />
8650800d1bS猫头猫        </>
8750800d1bS猫头猫    );
8850800d1bS猫头猫}
89