diff --git a/src/screens/Home/Views/Leaderboard/listAction.ts b/src/screens/Home/Views/Leaderboard/listAction.ts index 831a989..3bf6fda 100644 --- a/src/screens/Home/Views/Leaderboard/listAction.ts +++ b/src/screens/Home/Views/Leaderboard/listAction.ts @@ -4,7 +4,7 @@ import { getListDetail, getListDetailAll } from '@/core/leaderboard' import { LIST_IDS } from '@/config/constant' import listState from '@/store/list/state' import syncSourceList from '@/core/syncSourceList' -import { confirmDialog, toast } from '@/utils/tools' +import { confirmDialog, toMD5, toast } from '@/utils/tools' const getListId = (id: string) => `board__${id}` @@ -33,7 +33,7 @@ export const handlePlay = async(id: string, list?: LX.Music.MusicInfoOnline[], i export const handleCollect = async(id: string, name: string, source: LX.OnlineSource) => { const listId = getListId(id) - const targetList = listState.userList.find(l => l.id == listId) + const targetList = listState.userList.find(l => l.sourceListId == listId) if (targetList) { const confirm = await confirmDialog({ message: global.i18n.t('duplicate_list_tip', { name: targetList.name }), @@ -48,7 +48,7 @@ export const handleCollect = async(id: string, name: string, source: LX.OnlineSo const list = await getListDetailAll(id) await createList({ name, - id: listId, + id: `${source}_${toMD5(listId)}`, list, source, sourceListId: listId, diff --git a/src/screens/SonglistDetail/listAction.ts b/src/screens/SonglistDetail/listAction.ts index dfb8d8b..bb5a620 100644 --- a/src/screens/SonglistDetail/listAction.ts +++ b/src/screens/SonglistDetail/listAction.ts @@ -4,7 +4,7 @@ import { getListDetail, getListDetailAll } from '@/core/songlist' import { LIST_IDS } from '@/config/constant' import listState from '@/store/list/state' import syncSourceList from '@/core/syncSourceList' -import { confirmDialog, toast } from '@/utils/tools' +import { confirmDialog, toMD5, toast } from '@/utils/tools' import { type Source } from '@/store/songlist/state' const getListId = (id: string, source: LX.OnlineSource) => `${source}__${id}` @@ -34,7 +34,7 @@ export const handlePlay = async(id: string, source: Source, list?: LX.Music.Musi export const handleCollect = async(id: string, source: Source, name: string) => { const listId = getListId(id, source) - const targetList = listState.userList.find(l => l.id == listId) + const targetList = listState.userList.find(l => l.sourceListId == listId) if (targetList) { const confirm = await confirmDialog({ message: global.i18n.t('duplicate_list_tip', { name: targetList.name }), @@ -49,7 +49,7 @@ export const handleCollect = async(id: string, source: Source, name: string) => const list = await getListDetailAll(source, id) await createList({ name, - id: listId, + id: `${source}_${toMD5(listId)}`, list, source, sourceListId: id,