refactor: Clean up types
Signed-off-by: Tim Hårek Andreassen <tim@harek.no>
This commit is contained in:
parent
ded7076874
commit
be5ae5a78a
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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) }}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue