ls-deno/routes/dashboard.tsx

41 lines
943 B
TypeScript

import { Handlers, PageProps } from "$fresh/server.ts";
import { Page } from "@/components/Page.tsx";
// import { getToken, getUser } from "@/db/mod.ts";
// import * as base64 from "$std/encoding/base64.ts";
import { type ContextState } from "@/types.ts";
export const handler: Handlers<unknown, ContextState> = {
async GET(_request: Request, context) {
const user: Partial<ContextState["user"]> = context.state.user;
delete user.passwordDigest;
return await context.render(context.state.user);
},
};
export default function Dashboard({ data }: PageProps) {
console.log(data);
if (data) {
return You(data);
} else {
return LoginRequired();
}
}
function You(data: unknown) {
return (
<Page>
<p>
You are <pre>{JSON.stringify(data)}</pre>.
</p>
</Page>
);
}
function LoginRequired() {
return (
<Page>
<a href="/login">You need to login first!</a>
</Page>
);
}