diff --git a/islands/Search.tsx b/islands/Search.tsx index c724034..5e3ee4c 100644 --- a/islands/Search.tsx +++ b/islands/Search.tsx @@ -10,9 +10,9 @@ export default function Search() { const [query, setQuery] = useState(""); const [result, setResult] = useState([]); - const onSearch = async (event) => { + const onSearch = async (event: any) => { - const [status, response] = await post("/api/search", { + const [status, response] = await post("/api/search", { query }); @@ -25,7 +25,7 @@ export default function Search() { placeholder="NRK-podcast" className="border-2" value={query} - onInput={(event) => { setQuery(event.target.value) }} /> + onInput={(event: any) => { setQuery(event.target.value) }} /> diff --git a/lib/nrk.ts b/lib/nrk.ts index de14440..309356d 100644 --- a/lib/nrk.ts +++ b/lib/nrk.ts @@ -25,7 +25,7 @@ export type Episode = { async function withDownloadLink(withoutUrl: Omit) { // getting stream link - const [playbackStatus, playbackResponse] = await get(`https://psapi.nrk.no/playback/manifest/podcast/${withoutUrl.episodeId}`) + const [playbackStatus, playbackResponse] = await get(`https://psapi.nrk.no/playback/manifest/podcast/${withoutUrl.episodeId}`) if (playbackStatus === OK) { @@ -40,7 +40,7 @@ async function withDownloadLink(withoutUrl: Omit) { export const nrkRadio = { search: async (query: string): Promise => { - const [status, response] = await get(`https://psapi.nrk.no/radio/search/search?q=${query}`); + const [status, response] = await get(`https://psapi.nrk.no/radio/search/search?q=${query}`); if (status === OK) { const series = response.results.series.results return series as Serie[]; @@ -54,8 +54,8 @@ export const nrkRadio = { [episodeStatus, episodeResponse], [seriesStatus, serieResponse], ] = await Promise.all([ - get(`https://psapi.nrk.no/radio/catalog/podcast/${seriesId}/episodes`), - get(`https://psapi.nrk.no/radio/catalog/podcast/${seriesId}`) + get(`https://psapi.nrk.no/radio/catalog/podcast/${seriesId}/episodes`), + get(`https://psapi.nrk.no/radio/catalog/podcast/${seriesId}`) ]); diff --git a/routes/api/feeds/[seriesId].ts b/routes/api/feeds/[seriesId].ts index 6be70f1..55fd217 100644 --- a/routes/api/feeds/[seriesId].ts +++ b/routes/api/feeds/[seriesId].ts @@ -3,23 +3,23 @@ import { HandlerContext } from "$fresh/server.ts"; import { serialize, tag, declaration } from "https://deno.land/x/serializexml@v0.3.2/mod.ts"; -function toItemTag(episode: Episode): string { +function toItemTag(episode: Episode) { return tag("item", [ - tag("title", episode.title), + tag("title", episode.titles.title), tag("link", episode.url), - tag("description", episode.description), - tag("itunes:summary", episode.description), - tag("guid", episode.id, ["isPermaLink", "false"]), + tag("description", episode.titles.description), + tag("itunes:summary", episode.titles.description), + tag("guid", episode.id, [["isPermaLink", "false"]]), tag("pubDate", episode.date), tag("enclosure", "", [ ["url", episode.url], - ["length", episode.durationInSeconds], + ["length", episode.durationInSeconds.toString()], ["type", "audio/mpeg3"], ]), ]) } -async function buildFeed(seriesId) { +async function buildFeed(seriesId: any) { const serie = await nrkRadio.getSerieData(seriesId)