From 10b2e7dd833093a64b1a59262ee42875874bd52a Mon Sep 17 00:00:00 2001 From: snxraven Date: Fri, 11 Jul 2025 03:40:24 -0400 Subject: [PATCH] fix urls --- music_site.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/music_site.js b/music_site.js index b59a600..86a51bc 100644 --- a/music_site.js +++ b/music_site.js @@ -73,17 +73,17 @@ function generateSlug(title, genre) { counter++; } - genreSlugs.add(slug); - usedSlugs.set(genre, genreSlugs); - console.log(`Generated slug for "${title}" in genre "${genre}": "${slug}"`); return slug; } catch (err) { console.error(`Error generating slug for title: "${title}" in genre "${genre}"`, err); - const fallback = 'track-' + Date.now(); + let fallback = 'track-' + Date.now(); const genreSlugs = usedSlugs.get(genre) || new Set(); - genreSlugs.add(fallback); - usedSlugs.set(genre, genreSlugs); + let counter = 1; + while (genreSlugs.has(fallback)) { + fallback = `track-${Date.now()}-${counter}`; + counter++; + } return fallback; } } @@ -121,11 +121,11 @@ function sanitizeTrackData(track, genre) { if (!sanitized.slug || genreSlugs.has(sanitized.slug)) { console.warn(`Invalid or duplicate slug "${sanitized.slug}" for "${sanitized.title}". Regenerating.`); sanitized.slug = generateSlug(sanitized.title, genre); - } else { - genreSlugs.add(sanitized.slug); - usedSlugs.set(genre, genreSlugs); } + genreSlugs.add(sanitized.slug); + usedSlugs.set(genre, genreSlugs); + return sanitized; }