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