fix: proxy Bandsintown events through backend to bypass 403, always show ticket link with sold-out badge
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
914297651e
commit
98c964ecae
3 files changed
+21
-4
No files matched your search
+5
-2
@@ -1,8 +1,11 @@
|
||||
import { esc } from '../utils.js';
|
||||
import { S } from '../state.js';
|
||||
|
||||
export async function fetchEvents(artistName) {
|
||||
const base = S.cfg?.backendUrl;
|
||||
if(!base) return [];
|
||||
try {
|
||||
const r = await fetch(`https://rest.bandsintown.com/artists/${encodeURIComponent(artistName)}/events?app_id=novasonic`);
|
||||
const r = await fetch(`${base}/api/events/${encodeURIComponent(artistName)}`);
|
||||
if(!r.ok) return [];
|
||||
const data = await r.json();
|
||||
if(!Array.isArray(data)) return [];
|
||||
@@ -31,7 +34,7 @@ export function openEventsModal(events, artistName) {
|
||||
<div class="event-venue-name">${esc(venue)}</div>
|
||||
<div class="event-venue-city">${esc(city)}</div>
|
||||
</div>
|
||||
${offer ? `<a class="event-book-btn${soldOut ? ' sold-out' : ''}" href="${esc(offer.url)}" target="_blank" rel="noopener">${soldOut ? 'Ausverkauft' : 'Buchen →'}</a>` : ''}
|
||||
${offer ? `<a class="event-book-btn" href="${esc(offer.url)}" target="_blank" rel="noopener">${soldOut ? '<span class="event-sold-badge">Ausverkauft</span>' : ''}Tickets →</a>` : ''}
|
||||
</div>`;
|
||||
}).join('');
|
||||
|
||||
|
||||
Reference in new issue
Block a user