무한로드제거
This commit is contained in:
@@ -1,18 +1,26 @@
|
||||
import { PostList } from "@/app/components/PostList";
|
||||
import { headers } from "next/headers";
|
||||
import React, { use } from "react";
|
||||
|
||||
export default async function BoardDetail({ params, searchParams }: { params: { id: string }; searchParams?: { sort?: "recent" | "popular" } }) {
|
||||
const sort = searchParams?.sort ?? "recent";
|
||||
export default async function BoardDetail({ params, searchParams }: { params: Promise<{ id: string }>; searchParams: Promise<{ sort?: "recent" | "popular" }> }) {
|
||||
const { id } = use(params);
|
||||
const sp = use(searchParams);
|
||||
const sort = sp?.sort ?? "recent";
|
||||
// 보드 slug 조회 (새 글 페이지 프리셋 전달)
|
||||
const res = await fetch(`${process.env.NEXT_PUBLIC_BASE_URL ?? ""}/api/boards`, { cache: "no-store" });
|
||||
const h = await headers();
|
||||
const host = h.get("host") ?? "localhost:3000";
|
||||
const proto = h.get("x-forwarded-proto") ?? "http";
|
||||
const base = process.env.NEXT_PUBLIC_BASE_URL || `${proto}://${host}`;
|
||||
const res = await fetch(new URL("/api/boards", base).toString(), { cache: "no-store" });
|
||||
const { boards } = await res.json();
|
||||
const board = (boards || []).find((b: any) => b.id === params.id);
|
||||
const board = (boards || []).find((b: any) => b.id === id);
|
||||
return (
|
||||
<div>
|
||||
<div style={{ display: "flex", justifyContent: "space-between", alignItems: "center" }}>
|
||||
<h1>게시판</h1>
|
||||
<a href={`/posts/new?boardId=${params.id}${board?.slug ? `&boardSlug=${board.slug}` : ""}`}><button>새 글</button></a>
|
||||
<a href={`/posts/new?boardId=${id}${board?.slug ? `&boardSlug=${board.slug}` : ""}`}><button>새 글</button></a>
|
||||
</div>
|
||||
<PostList boardId={params.id} sort={sort} />
|
||||
<PostList boardId={id} sort={sort} />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user