import { FreshContext, Handlers, PageProps } from "$fresh/server.ts";
import { PostHeader } from "../../components/PostHeader.tsx";
import { PostBody } from "../../components/PostBody.tsx";

interface PageData {
  post_id: number;
  first_nane: string;
  last_name: string;
  title: string;
  body: string;
  created_at: string;
  is_featured: boolean;
}

export const handler: Handlers<PageData> = {
  async GET(_req: Request, ctx: FreshContext) {
    const postResult = await fetch(
      `${Deno.env.get("BASE_URI_API")}/posts/${ctx.params.id}`,
    );

    const postData = await postResult.json();
    return ctx.render({
      postData,
    });
  },
};

export default function PostIdentifier({ data }: PageProps<PageData>) {
  const { postData } = data;
  console.log(postData);

  return (
    <div>
      <PostHeader post={postData} />
      <PostBody post={postData} />
    </div>
  );
}
