mirror of
https://github.com/markuryy/shark.git
synced 2025-12-15 04:41:01 +00:00
feat(library): add ipod-safe emoji encoding for playlist names
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { writeFile } from '@tauri-apps/plugin-fs';
|
||||
import { sanitizeFilename } from '$lib/services/deezer/paths';
|
||||
import { encodeEmojis } from '$lib/utils/emoji';
|
||||
|
||||
export interface M3U8Track {
|
||||
duration: number; // in seconds
|
||||
@@ -22,14 +23,15 @@ export async function writeM3U8(
|
||||
tracks: M3U8Track[],
|
||||
playlistsFolder: string
|
||||
): Promise<string> {
|
||||
// Sanitize playlist name for filename
|
||||
const sanitizedName = sanitizeFilename(playlistName);
|
||||
// Encode emojis and sanitize playlist name for filename
|
||||
const encodedName = encodeEmojis(playlistName);
|
||||
const sanitizedName = sanitizeFilename(encodedName);
|
||||
const playlistPath = `${playlistsFolder}/${sanitizedName}.m3u8`;
|
||||
|
||||
// Build m3u8 content
|
||||
const lines: string[] = [
|
||||
'#EXTM3U',
|
||||
`#PLAYLIST:${playlistName}`,
|
||||
`#PLAYLIST:${encodedName}`,
|
||||
'#EXTENC:UTF-8',
|
||||
''
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user