diff --git a/publish/changeLog.md b/publish/changeLog.md index ca5bb36..e22d0dc 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -1,20 +1,3 @@ -### 新增 - -- 隐藏黑色主题背景设置,默认关闭,可以去设置-主题设置更改 - -### 优化 - -- 添加歌单分类、排行榜激活指示器 -- 调整设置界面竖屏下的UI布局 - ### 修复 -- 修复歌单排序列表滚动重置问题 -- 修复搜索提示列表的显示时机问题 -- 就放tx源歌词获取失败的问题 -- 修复将播放速率调整为0.6后,再次打开设置面板将会导致app崩溃的问题 -- 修复播放详情页设置面板当前音量显示格式问题 - -### 其他 - -- 升级 React Native 到 v0.71.5 +- 修复在线列表的多选问题 diff --git a/src/components/OnlineList/List.tsx b/src/components/OnlineList/List.tsx index c96c4c8..d030d97 100644 --- a/src/components/OnlineList/List.tsx +++ b/src/components/OnlineList/List.tsx @@ -27,7 +27,7 @@ export interface ListProps { checkHomePagerIdle: boolean } export interface ListType { - setList: (list: LX.Music.MusicInfoOnline[], showSource?: boolean) => void + setList: (list: LX.Music.MusicInfoOnline[], isAppend: boolean, showSource: boolean) => void setIsMultiSelectMode: (isMultiSelectMode: boolean) => void setSelectMode: (mode: SelectMode) => void selectAll: (isAll: boolean) => void @@ -65,9 +65,10 @@ const List = forwardRef(({ // console.log('render music list') useImperativeHandle(ref, () => ({ - setList(list, showSource = false) { + setList(list, isAppend, showSource) { setList(list) setShowSource(showSource) + if (!isAppend && selectedListRef.current.length) setSelectedList(selectedListRef.current = []) }, setIsMultiSelectMode(isMultiSelectMode) { isMultiSelectModeRef.current = isMultiSelectMode diff --git a/src/components/OnlineList/index.tsx b/src/components/OnlineList/index.tsx index 4d77ff1..a6f1574 100644 --- a/src/components/OnlineList/index.tsx +++ b/src/components/OnlineList/index.tsx @@ -18,7 +18,7 @@ export interface OnlineListProps { checkHomePagerIdle?: boolean } export interface OnlineListType { - setList: (list: LX.Music.MusicInfoOnline[], showSource?: boolean) => void + setList: (list: LX.Music.MusicInfoOnline[], isAppend?: boolean, showSource?: boolean) => void setStatus: (val: Status) => void } @@ -38,8 +38,9 @@ export default forwardRef(({ // const loadingMaskRef = useRef(null) useImperativeHandle(ref, () => ({ - setList(list, showSource) { - listRef.current?.setList(list, showSource) + setList(list, isAppend = false, showSource = false) { + listRef.current?.setList(list, isAppend, showSource) + multipleModeBarRef.current?.setIsSelectAll(false) }, setStatus(val) { listRef.current?.setStatus(val) diff --git a/src/screens/Home/Views/Leaderboard/MusicList.tsx b/src/screens/Home/Views/Leaderboard/MusicList.tsx index 3bb0b5f..7b55041 100644 --- a/src/screens/Home/Views/Leaderboard/MusicList.tsx +++ b/src/screens/Home/Views/Leaderboard/MusicList.tsx @@ -76,7 +76,7 @@ export default forwardRef((props, ref) => { getListDetail(boardState.listDetailInfo.id, page).then((listDetail) => { const result = setListDetail(listDetail, boardState.listDetailInfo.id, page) if (isUnmountedRef.current) return - listRef.current?.setList(result.list) + listRef.current?.setList(result.list, true) listRef.current?.setStatus(boardState.listDetailInfo.maxPage <= page ? 'end' : 'idle') }).catch(() => { if (boardState.listDetailInfo.list.length && page == 1) clearListDetail() diff --git a/src/screens/Home/Views/Search/MusicList.tsx b/src/screens/Home/Views/Search/MusicList.tsx index 9f86f86..cb29e0f 100644 --- a/src/screens/Home/Views/Search/MusicList.tsx +++ b/src/screens/Home/Views/Search/MusicList.tsx @@ -71,7 +71,7 @@ export default forwardRef((props, ref) => { search(searchInfoRef.current.text, page, searchInfoRef.current.source).then((list) => { // const result = setListInfo(listDetail, searchMusicState.listDetailInfo.id, page) if (isUnmountedRef.current) return - listRef.current?.setList(list, searchInfoRef.current.source == 'all') + listRef.current?.setList(list, true, searchInfoRef.current.source == 'all') listRef.current?.setStatus(info.maxPage <= page ? 'end' : 'idle') }).catch(() => { listRef.current?.setStatus('error') diff --git a/src/screens/SonglistDetail/MusicList.tsx b/src/screens/SonglistDetail/MusicList.tsx index 8b529c0..a103c0a 100644 --- a/src/screens/SonglistDetail/MusicList.tsx +++ b/src/screens/SonglistDetail/MusicList.tsx @@ -94,7 +94,7 @@ export default forwardRef(({ componentId }, ref) getListDetail(songlistState.listDetailInfo.id, songlistState.listDetailInfo.source, page).then((listDetail) => { const result = setListDetail(listDetail, songlistState.listDetailInfo.id, page) if (isUnmountedRef.current) return - listRef.current?.setList(result.list) + listRef.current?.setList(result.list, true) listRef.current?.setStatus(songlistState.listDetailInfo.maxPage <= page ? 'end' : 'idle') }).catch(() => { if (songlistState.listDetailInfo.list.length && page == 1) clearListDetail()