1import React, {useEffect} from 'react'; 2import StatusBar from '@/components/base/statusBar'; 3import Bottom from './components/bottom'; 4import Body from './components/body'; 5import {useSetAtom} from 'jotai'; 6import {editingMusicListAtom, musicListChangedAtom} from './store/atom'; 7import {useParams} from '@/core/router'; 8import globalStyle from '@/constants/globalStyle'; 9import VerticalSafeAreaView from '@/components/base/verticalSafeAreaView'; 10import AppBar from '@/components/base/appBar'; 11 12export default function MusicListEditor() { 13 const {musicSheet, musicList} = useParams<'music-list-editor'>(); 14 15 const setEditingMusicList = useSetAtom(editingMusicListAtom); 16 const setMusicListChanged = useSetAtom(musicListChangedAtom); 17 18 useEffect(() => { 19 setEditingMusicList( 20 (musicList ?? []).map(_ => ({musicItem: _, checked: false})), 21 ); 22 return () => { 23 setEditingMusicList([]); 24 setMusicListChanged(false); 25 }; 26 }, []); 27 28 return ( 29 <VerticalSafeAreaView style={globalStyle.fwflex1}> 30 <StatusBar /> 31 <AppBar>{musicSheet?.title ?? '歌单'}</AppBar> 32 <Body /> 33 <Bottom /> 34 </VerticalSafeAreaView> 35 ); 36} 37