import type { HotelQueryData, NormalizedHotelQueryInput } from "./rooms"; export async function loadHotelRadioQuery( input: NormalizedHotelQueryInput, ): Promise { if (input.routeId !== "hotel.radio.monitoring") { const { loadHotelDatabaseQuery } = await import("./hotel-production"); return loadHotelDatabaseQuery(input); } const { fetchListeners, fetchNowPlaying } = await import( "@/lib/services/radio" ); const [nowPlaying, listeners] = await Promise.all([ fetchNowPlaying(), fetchListeners(), ]); const items: Array = []; if (nowPlaying) { items.push({ id: "now-playing", title: nowPlaying.title, description: nowPlaying.artist ?? undefined, status: "playing", href: "/ase/hotel/radio/monitoring", }); } if (listeners !== null) { items.push({ id: "listeners", title: `${listeners} listeners`, status: "live", href: "/ase/hotel/radio/monitoring", }); } return { kind: "radio", items, total: items.length, partialDependencies: nowPlaying === null && listeners === null ? ["radio"] : [], }; }