refactor: Clean up types

Signed-off-by: Tim Hårek Andreassen <tim@harek.no>
This commit is contained in:
Tim Hårek Andreassen 2024-04-07 00:23:18 +02:00
parent ded7076874
commit be5ae5a78a
No known key found for this signature in database
GPG Key ID: E59C7734F0E10EB5
2 changed files with 6 additions and 7 deletions

View File

@ -1,4 +1,4 @@
export default function Search(props: { defaultValue: string }) { export default function Search(props: { defaultValue: string | null }) {
return ( return (
<form className="flex flex-col w-full lg:w-2/3 mx-auto my-4"> <form className="flex flex-col w-full lg:w-2/3 mx-auto my-4">
<label className="sr-only" htmlFor="query">Program</label> <label className="sr-only" htmlFor="query">Program</label>
@ -8,7 +8,7 @@ export default function Search(props: { defaultValue: string }) {
className="border-2 rounded-md px-2" className="border-2 rounded-md px-2"
name="query" name="query"
id="query" id="query"
defaultValue={props.defaultValue} defaultValue={props.defaultValue ?? ""}
/> />
<button type="submit" className="my-2 bg-gray-100 border-2 border-gray-400 rounded-md"> <button type="submit" className="my-2 bg-gray-100 border-2 border-gray-400 rounded-md">
Søk Søk

View File

@ -8,8 +8,7 @@ import { nrkRadio, SearchResultList } from "../lib/nrk.ts";
import { CSS, render } from "$gfm"; import { CSS, render } from "$gfm";
type Props = { type Props = {
query: string; query: string | null;
origin: string;
rawMarkdown: string; rawMarkdown: string;
result?: SearchResultList | null; result?: SearchResultList | null;
}; };
@ -23,11 +22,11 @@ export const handler: Handlers<Props> = {
result = await nrkRadio.search(query); result = await nrkRadio.search(query);
} }
const rawMarkdown = await Deno.readTextFile(new URL("../docs/what.md", import.meta.url)); const rawMarkdown = await Deno.readTextFile(new URL("../docs/what.md", import.meta.url));
return ctx.render({ query: query || "", result, origin: url.origin, rawMarkdown }); return ctx.render({ query, result, rawMarkdown });
}, },
}; };
export default function Home({ data }: PageProps<Props>) { export default function Home({ data, url }: PageProps<Props>) {
return ( return (
<> <>
<Head> <Head>
@ -46,7 +45,7 @@ export default function Home({ data }: PageProps<Props>) {
<div className="p-4 mx-auto max-w-screen-md"> <div className="p-4 mx-auto max-w-screen-md">
<Header /> <Header />
<Search defaultValue={data.query} /> <Search defaultValue={data.query} />
<SearchResult result={data.result} origin={data.origin} /> <SearchResult result={data.result} origin={url.origin} />
<div <div
class="markdown-body" class="markdown-body"
dangerouslySetInnerHTML={{ __html: render(data?.rawMarkdown) }} dangerouslySetInnerHTML={{ __html: render(data?.rawMarkdown) }}