xref: /MusicFree/src/pages/localMusic/mainPage/index.tsx (revision b6261296ac98be5ad999e9d2810c21dc5948254c)
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';
8*b6261296S猫头猫import useDialog from '@/components/dialogs/useDialog';
9*b6261296S猫头猫import Toast from '@/utils/toast';
1050800d1bS猫头猫
1150800d1bS猫头猫export default function MainPage() {
1250800d1bS猫头猫    const navigate = useNavigate();
13*b6261296S猫头猫    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() {
28*b6261296S猫头猫                            navigate(ROUTE_PATH.FILE_SELECTOR, {
29*b6261296S猫头猫                                fileType: 'folder',
30*b6261296S猫头猫                                multi: true,
31*b6261296S猫头猫                                actionText: '开始扫描',
32*b6261296S猫头猫                                async onAction(selectedFiles) {
33*b6261296S猫头猫                                    return new Promise(resolve => {
34*b6261296S猫头猫                                        showDialog('LoadingDialog', {
35*b6261296S猫头猫                                            title: '扫描本地音乐',
36*b6261296S猫头猫                                            promise:
37*b6261296S猫头猫                                                LocalMusicSheet.importLocal(
38*b6261296S猫头猫                                                    selectedFiles.map(
39*b6261296S猫头猫                                                        _ => _.path,
40*b6261296S猫头猫                                                    ),
41*b6261296S猫头猫                                                ),
42*b6261296S猫头猫                                            onResolve(data, hideDialog) {
43*b6261296S猫头猫                                                Toast.success('导入成功~');
44*b6261296S猫头猫                                                hideDialog();
45*b6261296S猫头猫                                                resolve(true);
46*b6261296S猫头猫                                            },
47*b6261296S猫头猫                                            onCancel(hideDialog) {
48*b6261296S猫头猫                                                LocalMusicSheet.cancelImportLocal();
49*b6261296S猫头猫                                                hideDialog();
50*b6261296S猫头猫                                                resolve(false);
51*b6261296S猫头猫                                            },
52*b6261296S猫头猫                                        });
53*b6261296S猫头猫                                    });
54*b6261296S猫头猫                                },
55*b6261296S猫头猫                            });
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猫头猫                    },
7050800d1bS猫头猫                ]}
7150800d1bS猫头猫            />
7250800d1bS猫头猫            <LocalMusicList />
7350800d1bS猫头猫            <MusicBar />
7450800d1bS猫头猫        </>
7550800d1bS猫头猫    );
7650800d1bS猫头猫}
77