28 lines
771 B
TypeScript
28 lines
771 B
TypeScript
|
import { Head } from "$fresh/runtime.ts";
|
||
|
import { PageProps, Handlers, HandlerContext } from "$fresh/server.ts";
|
||
|
import DocSearch from "../../islands/DocSearch.tsx";
|
||
|
import { Doc } from "../../src/collect.ts";
|
||
|
import { docCollector } from "../../src/store/doc.ts";
|
||
|
|
||
|
async function GET(req: Request, ctx: HandlerContext): Promise<Response> {
|
||
|
const docs = docCollector.getDocs();
|
||
|
return await ctx.render({docs});
|
||
|
}
|
||
|
|
||
|
export const handler: Handlers = {
|
||
|
GET,
|
||
|
}
|
||
|
|
||
|
export default function Docs(props: PageProps<{docs:Doc[]}>) {
|
||
|
const {docs} = props.data;
|
||
|
return (
|
||
|
<>
|
||
|
<Head>
|
||
|
<title>Simple file server - Doc</title>
|
||
|
</Head>
|
||
|
<div class="p-4 mx-auto max-w-screen-md">
|
||
|
<DocSearch docs={docs}></DocSearch>
|
||
|
</div>
|
||
|
</>
|
||
|
);
|
||
|
}
|