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