feat: Soundboard Plugin + Radio Globe Fixes

- Add Soundboard plugin (full Jukebox port): server + frontend + CSS
- Fix Radio Globe: swap geo coords (API returns [lng,lat] not [lat,lng])
- Fix Radio stations showing "Unbekannt": use item.page.title + fix channel ID regex
- Add DirectMessages + MessageContent intents for DM commands
- Register SoundboardTab in App.tsx with scoped theme/card-size CSS vars

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Daniel 2026-03-06 00:51:07 +01:00
parent 6696fed9d7
commit 901dfe54be
9 changed files with 4545 additions and 14 deletions

View file

@ -64,10 +64,10 @@ export async function fetchPlaceChannels(placeId: string): Promise<RadioChannel[
const channels: RadioChannel[] = [];
for (const section of data?.data?.content ?? []) {
for (const item of section.items ?? []) {
const href: string = item.href ?? item.page?.url ?? '';
const match = href.match(/\/listen\/([^/]+)/);
const href: string = item.page?.url ?? item.href ?? '';
const match = href.match(/\/listen\/[^/]+\/([^/]+)/);
if (match) {
channels.push({ id: match[1], title: item.title ?? 'Unbekannt' });
channels.push({ id: match[1], title: item.page?.title ?? item.title ?? 'Unbekannt' });
}
}
}