fix(now-playing): Radio 7 главные каналы — slug не съедает '7'

Баг: strip /\d+$/ у маунта radio7128 резал '7128' → 'radio' (пусто в meta).
Теперь slug = radio7(_слово)? без битрейта: radio7128→radio7, radio7_love64→radio7-love.
This commit is contained in:
nk
2026-06-06 09:50:18 +03:00
parent cc30422d8d
commit 38e380a59f

View File

@@ -103,13 +103,11 @@ export class EmgNowPlayingService {
private extractSlug(streamUrl: string): string | null { private extractSlug(streamUrl: string): string | null {
const emg = streamUrl.match(/hls-\d+-([a-z0-9-]+)\.emgsound\.ru/i); const emg = streamUrl.match(/hls-\d+-([a-z0-9-]+)\.emgsound\.ru/i);
if (emg) return emg[1].toLowerCase(); if (emg) return emg[1].toLowerCase();
const r7 = streamUrl.match(/radio7\.hostingradio\.ru[:0-9]*\/([a-z0-9_]+)/i); // Маунты radio7: radio7{br}, radio7_love{br}, radio7_happiness{br} (br=64/128/256).
if (r7) { // ВАЖНО: нельзя резать цифры с конца «\d+$» — у «radio7128» это съест «7» (→radio).
return r7[1] // Берём «radio7» + опциональный «_слово» (бренд), отбрасывая битрейт.
.toLowerCase() const r7 = streamUrl.match(/radio7\.hostingradio\.ru[:0-9]*\/(radio7(?:_[a-z]+)?)/i);
.replace(/\d+$/, '') if (r7) return r7[1].toLowerCase().replace(/_/g, '-');
.replace(/_/g, '-');
}
return null; return null;
} }