mirror of
https://github.com/ikun0014/lx-music-mobile.git
synced 2025-07-05 00:38:56 +08:00
修复在线列表、我的列表内的歌曲批量操作后,没有自动取消选择的问题
This commit is contained in:
parent
cbe48bb873
commit
1bbc417f19
@ -7,3 +7,4 @@
|
||||
|
||||
- 修复wy歌单分类切换无效的问题
|
||||
- 修复因插入数字类型的ID导致其意外在末尾追加 .0 导致列表数据异常的问题,同时也可能导致同步数据丢失的问题(此问题会影响PC端,要完全修复这个问题还需要同时将PC端、同步服务更新到最新版本)
|
||||
- 修复在线列表、我的列表内的歌曲批量操作后,没有自动取消选择的问题
|
||||
|
@ -15,18 +15,19 @@ export interface SelectInfo {
|
||||
}
|
||||
const initSelectInfo = {}
|
||||
|
||||
// export interface MusicAddModalProps {
|
||||
export interface MusicAddModalProps {
|
||||
onAdded?: () => void
|
||||
// onRename: (listInfo: LX.List.UserListInfo) => void
|
||||
// onImport: (listInfo: LX.List.MyListInfo, index: number) => void
|
||||
// onExport: (listInfo: LX.List.MyListInfo, index: number) => void
|
||||
// onSync: (listInfo: LX.List.UserListInfo) => void
|
||||
// onRemove: (listInfo: LX.List.UserListInfo) => void
|
||||
// }
|
||||
}
|
||||
export interface MusicAddModalType {
|
||||
show: (info: SelectInfo) => void
|
||||
}
|
||||
|
||||
export default forwardRef<MusicAddModalType, {}>((props, ref) => {
|
||||
export default forwardRef<MusicAddModalType, MusicAddModalProps>(({ onAdded }, ref) => {
|
||||
const t = useI18n()
|
||||
const dialogRef = useRef<DialogType>(null)
|
||||
const [selectInfo, setSelectInfo] = useState<SelectInfo>(initSelectInfo as SelectInfo)
|
||||
@ -54,6 +55,7 @@ export default forwardRef<MusicAddModalType, {}>((props, ref) => {
|
||||
[selectInfo.musicInfo as LX.Music.MusicInfo],
|
||||
settingState.setting['list.addMusicLocationType'],
|
||||
).then(() => {
|
||||
onAdded?.()
|
||||
toast(t('list_edit_action_tip_move_success'))
|
||||
}).catch(() => {
|
||||
toast(t('list_edit_action_tip_move_failed'))
|
||||
@ -63,6 +65,7 @@ export default forwardRef<MusicAddModalType, {}>((props, ref) => {
|
||||
[selectInfo.musicInfo as LX.Music.MusicInfo],
|
||||
settingState.setting['list.addMusicLocationType'],
|
||||
).then(() => {
|
||||
onAdded?.()
|
||||
toast(t('list_edit_action_tip_add_success'))
|
||||
}).catch(() => {
|
||||
toast(t('list_edit_action_tip_add_failed'))
|
||||
|
@ -1,11 +1,14 @@
|
||||
import React, { useRef, useImperativeHandle, forwardRef, useState } from 'react'
|
||||
import Modal, { type MusicAddModalType as ModalType, type SelectInfo } from './MusicAddModal'
|
||||
import Modal, { type MusicAddModalType as ModalType, type MusicAddModalProps as ModalProps, type SelectInfo } from './MusicAddModal'
|
||||
|
||||
export interface MusicAddModalProps {
|
||||
onAdded?: ModalProps['onAdded']
|
||||
}
|
||||
export interface MusicAddModalType {
|
||||
show: (info: SelectInfo) => void
|
||||
}
|
||||
|
||||
export default forwardRef<MusicAddModalType, {}>((props, ref) => {
|
||||
export default forwardRef<MusicAddModalType, MusicAddModalProps>(({ onAdded }, ref) => {
|
||||
const musicAddModalRef = useRef<ModalType>(null)
|
||||
const [visible, setVisible] = useState(false)
|
||||
|
||||
@ -23,7 +26,7 @@ export default forwardRef<MusicAddModalType, {}>((props, ref) => {
|
||||
|
||||
return (
|
||||
visible
|
||||
? <Modal ref={musicAddModalRef} />
|
||||
? <Modal ref={musicAddModalRef} onAdded={onAdded} />
|
||||
: null
|
||||
)
|
||||
})
|
||||
|
@ -15,18 +15,19 @@ export interface SelectInfo {
|
||||
}
|
||||
const initSelectInfo = { selectedList: [], listId: '', isMove: false }
|
||||
|
||||
// export interface MusicMultiAddModalProps {
|
||||
export interface MusicMultiAddModalProps {
|
||||
onAdded?: () => void
|
||||
// onRename: (listInfo: LX.List.UserListInfo) => void
|
||||
// onImport: (listInfo: LX.List.MyListInfo, index: number) => void
|
||||
// onExport: (listInfo: LX.List.MyListInfo, index: number) => void
|
||||
// onSync: (listInfo: LX.List.UserListInfo) => void
|
||||
// onRemove: (listInfo: LX.List.UserListInfo) => void
|
||||
// }
|
||||
}
|
||||
export interface MusicMultiAddModalType {
|
||||
show: (info: SelectInfo) => void
|
||||
}
|
||||
|
||||
export default forwardRef<MusicMultiAddModalType, {}>((props, ref) => {
|
||||
export default forwardRef<MusicMultiAddModalType, MusicMultiAddModalProps>(({ onAdded }, ref) => {
|
||||
const t = useI18n()
|
||||
const dialogRef = useRef<DialogType>(null)
|
||||
const [selectInfo, setSelectInfo] = useState<SelectInfo>(initSelectInfo)
|
||||
@ -54,6 +55,7 @@ export default forwardRef<MusicMultiAddModalType, {}>((props, ref) => {
|
||||
[...selectInfo.selectedList],
|
||||
settingState.setting['list.addMusicLocationType'],
|
||||
).then(() => {
|
||||
onAdded?.()
|
||||
toast(t('list_edit_action_tip_move_success'))
|
||||
}).catch(() => {
|
||||
toast(t('list_edit_action_tip_move_failed'))
|
||||
@ -63,6 +65,7 @@ export default forwardRef<MusicMultiAddModalType, {}>((props, ref) => {
|
||||
[...selectInfo.selectedList],
|
||||
settingState.setting['list.addMusicLocationType'],
|
||||
).then(() => {
|
||||
onAdded?.()
|
||||
toast(t('list_edit_action_tip_add_success'))
|
||||
}).catch(() => {
|
||||
toast(t('list_edit_action_tip_add_failed'))
|
||||
|
@ -1,11 +1,14 @@
|
||||
import React, { useRef, useImperativeHandle, forwardRef, useState } from 'react'
|
||||
import Modal, { type MusicMultiAddModalType as ModalType, type SelectInfo } from './MusicMultiAddModal'
|
||||
import Modal, { type MusicMultiAddModalType as ModalType, type MusicMultiAddModalProps as ModalProps, type SelectInfo } from './MusicMultiAddModal'
|
||||
|
||||
export interface MusicAddModalProps {
|
||||
onAdded?: ModalProps['onAdded']
|
||||
}
|
||||
export interface MusicMultiAddModalType {
|
||||
show: (info: SelectInfo) => void
|
||||
}
|
||||
|
||||
export default forwardRef<MusicMultiAddModalType, {}>((props, ref) => {
|
||||
export default forwardRef<MusicMultiAddModalType, MusicAddModalProps>(({ onAdded }, ref) => {
|
||||
const musicMultiAddModalRef = useRef<ModalType>(null)
|
||||
const [visible, setVisible] = useState(false)
|
||||
|
||||
@ -23,7 +26,7 @@ export default forwardRef<MusicMultiAddModalType, {}>((props, ref) => {
|
||||
|
||||
return (
|
||||
visible
|
||||
? <Modal ref={musicMultiAddModalRef} />
|
||||
? <Modal ref={musicMultiAddModalRef} onAdded={onAdded} />
|
||||
: null
|
||||
)
|
||||
})
|
||||
|
@ -98,12 +98,12 @@ export default forwardRef<OnlineListType, OnlineListProps>(({
|
||||
onExitSelectMode={hancelExitSelect}
|
||||
/>
|
||||
</View>
|
||||
<ListMusicAdd ref={listMusicAddRef} />
|
||||
<ListMusicMultiAdd ref={listMusicMultiAddRef} />
|
||||
<ListMusicAdd ref={listMusicAddRef} onAdded={() => { hancelExitSelect() }} />
|
||||
<ListMusicMultiAdd ref={listMusicMultiAddRef} onAdded={() => { hancelExitSelect() }} />
|
||||
<ListMenu
|
||||
ref={listMenuRef}
|
||||
onPlay={info => { handlePlay(info.musicInfo) }}
|
||||
onPlayLater={info => { handlePlayLater(info.musicInfo, info.selectedList, hancelExitSelect) }}
|
||||
onPlayLater={info => { hancelExitSelect(); handlePlayLater(info.musicInfo, info.selectedList, hancelExitSelect) }}
|
||||
onCopyName={info => { handleShare(info.musicInfo) }}
|
||||
onAdd={handleAddMusic}
|
||||
/>
|
||||
|
@ -130,15 +130,15 @@ export default () => {
|
||||
onScrollToInfo={handleScrollToInfo}
|
||||
/>
|
||||
</View>
|
||||
<ListMusicAdd ref={listMusicAddRef} />
|
||||
<ListMusicMultiAdd ref={listMusicMultiAddRef} />
|
||||
<ListMusicAdd ref={listMusicAddRef} onAdded={() => { hancelExitSelect() }} />
|
||||
<ListMusicMultiAdd ref={listMusicMultiAddRef} onAdded={() => { hancelExitSelect() }} />
|
||||
<MusicPositionModal ref={musicPositionModalRef}
|
||||
onUpdatePosition={(info, postion) => { handleUpdateMusicPosition(postion, info.listId, info.musicInfo, info.selectedList, hancelExitSelect) }} />
|
||||
<ListMenu
|
||||
ref={listMenuRef}
|
||||
onPlay={info => { handlePlay(info.listId, info.index) }}
|
||||
onPlayLater={info => { handlePlayLater(info.listId, info.musicInfo, info.selectedList, hancelExitSelect) }}
|
||||
onRemove={info => { handleRemove(info.listId, info.musicInfo, info.selectedList, hancelExitSelect) }}
|
||||
onPlayLater={info => { hancelExitSelect(); handlePlayLater(info.listId, info.musicInfo, info.selectedList, hancelExitSelect) }}
|
||||
onRemove={info => { hancelExitSelect(); handleRemove(info.listId, info.musicInfo, info.selectedList, hancelExitSelect) }}
|
||||
onCopyName={info => { handleShare(info.musicInfo) }}
|
||||
onAdd={handleAddMusic}
|
||||
onMove={handleMoveMusic}
|
||||
|
Loading…
x
Reference in New Issue
Block a user