feat : ask for noti
CI / Verify (push) Successful in 1m50s
CI / Build immutable images and deploy (push) Successful in 2m59s

This commit is contained in:
2026-10-08 02:23:59 +07:00 Unverified
parent 5812d99715
commit 9bc710c94b
34 changed files with 10913 additions and 201 deletions
+5 -3
View File
@@ -4,14 +4,16 @@ import { AdminHeader } from "@/components/admin/admin-header";
import { AdminCommentInbox } from "@/components/comments/admin-comment-inbox";
import { getCommentViewer, listComments, listCommentTargets } from "@/lib/comments/repository";
export default async function AdminCommentsPage({ searchParams }: { searchParams: Promise<{ target?: string }> }) {
export default async function AdminCommentsPage({ searchParams }: { searchParams: Promise<{ target?: string; comment?: string }> }) {
await connection();
const viewer = await getCommentViewer();
if (!viewer?.admin) redirect("/auth/login?next=%2Fadmin%2Fcomments");
const initialTarget = (await searchParams).target;
const query = await searchParams;
const initialTarget = query.target;
const initialComment = initialTarget && query.comment && /^[0-9a-f-]{36}$/i.test(query.comment) ? query.comment : undefined;
const [initial, targets] = await Promise.all([listComments({ viewer, inbox: true, target: initialTarget }), listCommentTargets()]);
return <><AdminHeader /><main className="mx-auto flex w-full max-w-7xl flex-col gap-6 p-4 sm:p-6 lg:p-8">
<header><h1 className="font-heading text-3xl font-semibold">ความคิดเห็น</h1><p className="mt-2 text-muted-foreground">ตอบกลับและจัดการความคิดเห็นจากทุกไกด์</p></header>
<AdminCommentInbox key={initialTarget ?? "all"} initialTarget={initialTarget} initial={initial} targets={targets} />
<AdminCommentInbox key={`${initialTarget ?? "all"}:${initialComment ?? ""}`} initialTarget={initialTarget} initialComment={initialComment} initial={initial} targets={targets} />
</main></>;
}