From 44d99dc8c1e9113c0ebf281b715ab2009f31fdb1 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Sun, 23 Nov 2025 10:32:09 +0800 Subject: [PATCH] [+] Update playlist option --- src/lib/i18n/en.ts | 4 +++- src/lib/i18n/ja.ts | 4 +++- src/lib/i18n/zh.ts | 4 +++- src/lib/server/songs.ts | 2 +- src/lib/ui/ProgressList.svelte | 8 ++++---- src/routes/import/netease/+page.svelte | 6 ++++-- src/routes/playlist/[id]/+page.svelte | 8 +++++--- 7 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/lib/i18n/en.ts b/src/lib/i18n/en.ts index 39dbdbe..47f1017 100644 --- a/src/lib/i18n/en.ts +++ b/src/lib/i18n/en.ts @@ -37,6 +37,7 @@ export default { tip: 'Go to NetEase Music App, find a Japanese playlist you like, click share, copy link, and paste it here to start importing!', inputLabel: 'NetEase Playlist Link / ID', btnStart: 'Start Import', + btnUpdate: 'Update Playlist', btnView: 'View Playlist' } }, @@ -47,7 +48,8 @@ export default { count: 'Songs: ', startPractice: 'Start Practice', songList: 'Song List', - songs: 'songs' + songs: 'songs', + updateFromNetease: 'Update from NetEase' }, list: { mine: 'My Playlists', diff --git a/src/lib/i18n/ja.ts b/src/lib/i18n/ja.ts index ca2e986..425a73c 100644 --- a/src/lib/i18n/ja.ts +++ b/src/lib/i18n/ja.ts @@ -37,6 +37,7 @@ export default { tip: 'NetEase Musicアプリでお気に入りの日本語プレイリストを見つけ、共有をクリックし、リンクをコピーしてここに貼り付けると、インポートを開始できます!', inputLabel: 'NetEaseプレイリストリンク / ID', btnStart: 'インポート開始', + btnUpdate: 'プレイリストを更新', btnView: 'プレイリストを表示' } }, @@ -47,7 +48,8 @@ export default { count: '曲数: ', startPractice: '練習開始', songList: '曲リスト', - songs: '曲' + songs: '曲', + updateFromNetease: 'NetEaseから更新' }, list: { mine: 'マイプレイリスト', diff --git a/src/lib/i18n/zh.ts b/src/lib/i18n/zh.ts index 06d423f..c0e63ab 100644 --- a/src/lib/i18n/zh.ts +++ b/src/lib/i18n/zh.ts @@ -37,6 +37,7 @@ export default { tip: '去网易云 APP 找一个你喜欢的日本语歌单,点击分享,再点击复制链接,然后把链接粘贴到这里就可以开始导入了!', inputLabel: '网易云歌单链接 / ID', btnStart: '开始导入', + btnUpdate: '更新歌单', btnView: '查看歌单' } }, @@ -47,7 +48,8 @@ export default { count: '歌曲数: ', startPractice: '开始练习', songList: '歌曲列表', - songs: '首歌曲' + songs: '首歌曲', + updateFromNetease: '从网易云更新歌单' }, list: { mine: '我的歌单', diff --git a/src/lib/server/songs.ts b/src/lib/server/songs.ts index fbc00de..90dc354 100644 --- a/src/lib/server/songs.ts +++ b/src/lib/server/songs.ts @@ -226,7 +226,7 @@ export const getSession = (id: string) => sessions.get(id) * @returns Import session */ export async function startImport(link: string, userId?: number): Promise { - const meta = await getPlaylistRaw(parsePlaylistRef(link)) + const meta = await getPlaylistRaw(parsePlaylistRef(link), true) const importId = crypto.randomUUID() const session: ImportSession = { diff --git a/src/lib/ui/ProgressList.svelte b/src/lib/ui/ProgressList.svelte index b36d314..a5220bd 100644 --- a/src/lib/ui/ProgressList.svelte +++ b/src/lib/ui/ProgressList.svelte @@ -27,14 +27,14 @@ -
+
{#each items as item}
-
- {item.title} +
+ {item.title} {#if item.subtitle} - {item.subtitle} + {item.subtitle} {/if}
diff --git a/src/routes/import/netease/+page.svelte b/src/routes/import/netease/+page.svelte index 95b96ce..dac97af 100644 --- a/src/routes/import/netease/+page.svelte +++ b/src/routes/import/netease/+page.svelte @@ -7,10 +7,12 @@ import ErrorDialog from "$lib/ui/status/ErrorDialog.svelte" import ProgressList from "$lib/ui/ProgressList.svelte" import { getI18n } from "$lib/i18n" + import { page } from '$app/state' const t = getI18n().import.netease - let link = $state('') + let link = $state(page.url.searchParams.get('id') ?? '') + let isUpdate = $derived(!!page.url.searchParams.get('id')) interface SongImportStatus { song: NeteaseSong @@ -91,7 +93,7 @@