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 (
<form className="flex flex-col w-full lg:w-2/3 mx-auto my-4">
<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"
name="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">
Søk

View File

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